Hierarchical Clustering¶

  1. Read the dataset
  2. Data investigation
  3. Data preprocessing
  4. Features transformation
  5. K means
  6. Training datasets
  7. Improvement ideas
In [2]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")
In [3]:
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.manifold import TSNE
from sklearn import preprocessing
from sklearn.preprocessing import MinMaxScaler
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA, KernelPCA
from sklearn.cluster import DBSCAN


# just to get multuple output from the same cell.
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
In [92]:
def Bar(df,Column_name,bins):
  """Plot a menengful bar plot.

    Args:
        df (Pandas Dataframe): DataFrame with all the records.
        Column_name (string): the name of the column we wont to plot.
        bins (list): Deviding our bar plot acording to those bins.
  """
  plt.figure(figsize=(18,7))
  freq, bins, p = plt.hist(df[Column_name], bins=bins,rwidth=0.9)

  # x coordinate for labels
  bin_centers = np.diff(bins)*0.5 + bins[:-1]

  n = 0
  for fr, x, patch in zip(freq, bin_centers,p):
    height = int(freq[n])
    plt.annotate("{}%".format(round(height*100 / df.shape[0],2)),
                xy = (x, height),
                xytext = (0,0.2),
                textcoords = "offset points",
                ha = 'center', va = 'bottom'
                )
    n = n+1
  plt.grid()
  plt.xticks(bins)
  plt.title(Column_name)
  plt.show;

1. Read the dataset¶

(Go to top)

First dowmload the data set from this link https://www.kaggle.com/code/sadkoktaybicici/credit-card-data-clustering-k-mean/data then import it in python.

In [5]:
#read the data

data_path = 'D:\Study\ITI\Machine Learning 2\PCA\CC GENERAL.csv'  #the path where you downloaded the data
df = pd.read_csv(data_path)

print('The shape of the dataset is:', df.shape)
The shape of the dataset is: (8950, 18)
In [5]:
df.head()
Out[5]:
CUST_ID BALANCE BALANCE_FREQUENCY PURCHASES ONEOFF_PURCHASES INSTALLMENTS_PURCHASES CASH_ADVANCE PURCHASES_FREQUENCY ONEOFF_PURCHASES_FREQUENCY PURCHASES_INSTALLMENTS_FREQUENCY CASH_ADVANCE_FREQUENCY CASH_ADVANCE_TRX PURCHASES_TRX CREDIT_LIMIT PAYMENTS MINIMUM_PAYMENTS PRC_FULL_PAYMENT TENURE
0 C10001 40.900749 0.818182 95.40 0.00 95.4 0.000000 0.166667 0.000000 0.083333 0.000000 0 2 1000.0 201.802084 139.509787 0.000000 12
1 C10002 3202.467416 0.909091 0.00 0.00 0.0 6442.945483 0.000000 0.000000 0.000000 0.250000 4 0 7000.0 4103.032597 1072.340217 0.222222 12
2 C10003 2495.148862 1.000000 773.17 773.17 0.0 0.000000 1.000000 1.000000 0.000000 0.000000 0 12 7500.0 622.066742 627.284787 0.000000 12
3 C10004 1666.670542 0.636364 1499.00 1499.00 0.0 205.788017 0.083333 0.083333 0.000000 0.083333 1 1 7500.0 0.000000 NaN 0.000000 12
4 C10005 817.714335 1.000000 16.00 16.00 0.0 0.000000 0.083333 0.083333 0.000000 0.000000 0 1 1200.0 678.334763 244.791237 0.000000 12

2. Data investigation¶

(Go to top)

in this part you need to check the data quality and assess any issues in the data as:

  • null values in each column
  • each column has the proper data type
  • outliers
  • duplicate rows
  • distribution for each column (skewness)

comment each issue you find

In [6]:
# Let's see the data types and non-null values for each column
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8950 entries, 0 to 8949
Data columns (total 18 columns):
 #   Column                            Non-Null Count  Dtype  
---  ------                            --------------  -----  
 0   CUST_ID                           8950 non-null   object 
 1   BALANCE                           8950 non-null   float64
 2   BALANCE_FREQUENCY                 8950 non-null   float64
 3   PURCHASES                         8950 non-null   float64
 4   ONEOFF_PURCHASES                  8950 non-null   float64
 5   INSTALLMENTS_PURCHASES            8950 non-null   float64
 6   CASH_ADVANCE                      8950 non-null   float64
 7   PURCHASES_FREQUENCY               8950 non-null   float64
 8   ONEOFF_PURCHASES_FREQUENCY        8950 non-null   float64
 9   PURCHASES_INSTALLMENTS_FREQUENCY  8950 non-null   float64
 10  CASH_ADVANCE_FREQUENCY            8950 non-null   float64
 11  CASH_ADVANCE_TRX                  8950 non-null   int64  
 12  PURCHASES_TRX                     8950 non-null   int64  
 13  CREDIT_LIMIT                      8949 non-null   float64
 14  PAYMENTS                          8950 non-null   float64
 15  MINIMUM_PAYMENTS                  8637 non-null   float64
 16  PRC_FULL_PAYMENT                  8950 non-null   float64
 17  TENURE                            8950 non-null   int64  
dtypes: float64(14), int64(3), object(1)
memory usage: 1.2+ MB

Single null value at CREDIT_LIMIT, and 313 null values at MINIMUM_PAYMENTS.
each column has the proper data type exept for CUST_ID which has no menneing so will be droped.

In [7]:
round(df.isnull().sum(axis=0)*100/df.shape[0],2)
Out[7]:
CUST_ID                             0.00
BALANCE                             0.00
BALANCE_FREQUENCY                   0.00
PURCHASES                           0.00
ONEOFF_PURCHASES                    0.00
INSTALLMENTS_PURCHASES              0.00
CASH_ADVANCE                        0.00
PURCHASES_FREQUENCY                 0.00
ONEOFF_PURCHASES_FREQUENCY          0.00
PURCHASES_INSTALLMENTS_FREQUENCY    0.00
CASH_ADVANCE_FREQUENCY              0.00
CASH_ADVANCE_TRX                    0.00
PURCHASES_TRX                       0.00
CREDIT_LIMIT                        0.01
PAYMENTS                            0.00
MINIMUM_PAYMENTS                    3.50
PRC_FULL_PAYMENT                    0.00
TENURE                              0.00
dtype: float64

Since the null values are only 3.5% of the data, we can drob them.

In [ ]:
# This will print basic statistics for numerical columns
df.describe().T
Out[ ]:
count mean std min 25% 50% 75% max
BALANCE 8636.0 1601.224893 2095.571300 0.000000 148.095189 916.855459 2105.195853 19043.13856
BALANCE_FREQUENCY 8636.0 0.895035 0.207697 0.000000 0.909091 1.000000 1.000000 1.00000
PURCHASES 8636.0 1025.433874 2167.107984 0.000000 43.367500 375.405000 1145.980000 49039.57000
ONEOFF_PURCHASES 8636.0 604.901438 1684.307803 0.000000 0.000000 44.995000 599.100000 40761.25000
INSTALLMENTS_PURCHASES 8636.0 420.843533 917.245182 0.000000 0.000000 94.785000 484.147500 22500.00000
CASH_ADVANCE 8636.0 994.175523 2121.458303 0.000000 0.000000 0.000000 1132.385490 47137.21176
PURCHASES_FREQUENCY 8636.0 0.496000 0.401273 0.000000 0.083333 0.500000 0.916667 1.00000
ONEOFF_PURCHASES_FREQUENCY 8636.0 0.205909 0.300054 0.000000 0.000000 0.083333 0.333333 1.00000
PURCHASES_INSTALLMENTS_FREQUENCY 8636.0 0.368820 0.398093 0.000000 0.000000 0.166667 0.750000 1.00000
CASH_ADVANCE_FREQUENCY 8636.0 0.137604 0.201791 0.000000 0.000000 0.000000 0.250000 1.50000
CASH_ADVANCE_TRX 8636.0 3.313918 6.912506 0.000000 0.000000 0.000000 4.000000 123.00000
PURCHASES_TRX 8636.0 15.033233 25.180468 0.000000 1.000000 7.000000 18.000000 358.00000
CREDIT_LIMIT 8636.0 4522.091030 3659.240379 50.000000 1600.000000 3000.000000 6500.000000 30000.00000
PAYMENTS 8636.0 1784.478099 2909.810090 0.049513 418.559237 896.675701 1951.142090 50721.48336
MINIMUM_PAYMENTS 8636.0 864.304943 2372.566350 0.019163 169.163545 312.452292 825.496463 76406.20752
PRC_FULL_PAYMENT 8636.0 0.159304 0.296271 0.000000 0.000000 0.000000 0.166667 1.00000
TENURE 8636.0 11.534391 1.310984 6.000000 12.000000 12.000000 12.000000 12.00000
In [ ]:
df.duplicated().sum()
Out[ ]:
0

No duplicated rows.

In [ ]:
correlation_matrix = df.corr()
plt.figure(figsize=(10, 8))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f", linewidths=0.5)
plt.title('Correlation Matrix')
plt.show()
No description has been provided for this image

Many features are highly correlated like :
PURCHASES and ONEOFF_PURCHASES
PURCHASES and INSTALLMENTS_PURCHASES
CASH_ADVANCE_FREQUENCY and CASH_ADVANCE_TRX
and so on.... The similarity in their names suggests they are calculated ( depends ) on one another.

In [10]:
noID = df.drop(columns="CUST_ID")
sns.pairplot(noID)
Out[10]:
<seaborn.axisgrid.PairGrid at 0x1121afe95d0>
No description has been provided for this image

Here we can see some pattern between some features, some are positively correlated, some are negatively correlated and some almost have no crolation.

In [11]:
for X in noID.columns:
    sns.boxplot(x=df[X])
    plt.show()
Out[11]:
<Axes: xlabel='BALANCE'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='BALANCE_FREQUENCY'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='PURCHASES'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='ONEOFF_PURCHASES'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='INSTALLMENTS_PURCHASES'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='CASH_ADVANCE'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='PURCHASES_FREQUENCY'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='ONEOFF_PURCHASES_FREQUENCY'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='PURCHASES_INSTALLMENTS_FREQUENCY'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='CASH_ADVANCE_FREQUENCY'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='CASH_ADVANCE_TRX'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='PURCHASES_TRX'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='CREDIT_LIMIT'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='PAYMENTS'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='MINIMUM_PAYMENTS'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='PRC_FULL_PAYMENT'>
No description has been provided for this image
Out[11]:
<Axes: xlabel='TENURE'>
No description has been provided for this image

almost all feuters are highly skewed.
CASH_ADVANCE_FREQUENCY : A score (between 0 and 1) indicating how often cash advances are taken using the card.
Some values are more than one I think we should applay thrathhold or drop them.

In [ ]:
(df == 0).mean(axis=0)*100
Out[ ]:
CUST_ID                              0.000000
BALANCE                              0.893855
BALANCE_FREQUENCY                    0.893855
PURCHASES                           22.837989
ONEOFF_PURCHASES                    48.067039
INSTALLMENTS_PURCHASES              43.754190
CASH_ADVANCE                        51.709497
PURCHASES_FREQUENCY                 22.826816
ONEOFF_PURCHASES_FREQUENCY          48.067039
PURCHASES_INSTALLMENTS_FREQUENCY    43.743017
CASH_ADVANCE_FREQUENCY              51.709497
CASH_ADVANCE_TRX                    51.709497
PURCHASES_TRX                       22.837989
CREDIT_LIMIT                         0.000000
PAYMENTS                             2.681564
MINIMUM_PAYMENTS                     0.000000
PRC_FULL_PAYMENT                    65.955307
TENURE                               0.000000
dtype: float64

So many sparce features.

In [ ]:
df.columns
Out[ ]:
Index(['CUST_ID', 'BALANCE', 'BALANCE_FREQUENCY', 'PURCHASES',
       'ONEOFF_PURCHASES', 'INSTALLMENTS_PURCHASES', 'CASH_ADVANCE',
       'PURCHASES_FREQUENCY', 'ONEOFF_PURCHASES_FREQUENCY',
       'PURCHASES_INSTALLMENTS_FREQUENCY', 'CASH_ADVANCE_FREQUENCY',
       'CASH_ADVANCE_TRX', 'PURCHASES_TRX', 'CREDIT_LIMIT', 'PAYMENTS',
       'MINIMUM_PAYMENTS', 'PRC_FULL_PAYMENT', 'TENURE'],
      dtype='object')
In [ ]:
Bar(df,"BALANCE",[0,500,1000,2000,5000,10000,20000])
No description has been provided for this image

More than 90% have less than 5K in their credit card balance.

In [54]:
Bar(df,"MINIMUM_PAYMENTS",[0,500,1000,2000,5000,10000,20000])
No description has been provided for this image

MINIMUM_PAYMENTS ===> The minimum amount required to be paid each billing cycle to avoid late fees.
Also more than 90% have less than 5K in minimum payments.
This make sense because most data is left skewed.

In [ ]:
Bar(df,"PURCHASES",[0,500,1000,2000,5000,10000,20000])
No description has been provided for this image
In [ ]:
Bar(df,"PURCHASES_FREQUENCY",[0,0.1,0.3,0.6,0.9,1])
No description has been provided for this image

PURCHASES_FREQUENCY is a score indicating how frequently purchases are made using the card.
Looks like a 30% of the users are inactive (rarely using the card ).

In [9]:
Bar(df,"CREDIT_LIMIT",[0,1000,2500,10000,20000,30000])
No description has been provided for this image

Almost 90% have credit limit bellow 10K

In [23]:
Bar(df,"CASH_ADVANCE",[0,1000,2500,10000,20000,30000])
No description has been provided for this image

data is Highly consentrated bellow 3K.

In [ ]:
Bar(df,"TENURE",[6,7,8,9,10,11,12])
df["TENURE"].value_counts()
Out[ ]:
12    7584
11     365
10     236
6      204
8      196
7      190
9      175
Name: TENURE, dtype: int64
No description has been provided for this image

TENURE ====> The length of time (in months) the customer has keept the credit card account.
Almost all the users keept the card for 12 monthes or maybe more.

Reducing the number of dimensions down to two (or three) makes it possible to plot a high-dimensional training set on a graph and
often gain some important insights by visually detecting patterns, such as clusters.

Let's tray to applay T-sne for this data before doing any data prossising and see the results.

In [6]:
#make a copy for the original dataset
df_copy=df.copy()
df_copy.drop(columns='CUST_ID',inplace=True)
In [25]:
tsne = TSNE(random_state=42,n_components=2 , perplexity=42,learning_rate=50.5)
df_copy_tsne = tsne.fit_transform(df_copy)
tsne_as_df=pd.DataFrame(df_copy_tsne)
sns.scatterplot(x=tsne_as_df[0],y=tsne_as_df[1])
Out[25]:
<Axes: xlabel='0', ylabel='1'>
No description has been provided for this image

not a helpfull result.
what about reducing the dimentions to 3D insted of 2D?

In [ ]:
tsne = TSNE(random_state=42,n_components=3 , perplexity=10)
df_copy_tsne = tsne.fit_transform(df_copy)
tsne_as_df=pd.DataFrame(df_copy_tsne)
# sns.pairplot(pd.DataFrame(df_copy_tsne))
In [27]:
#from mpl_toolkits.mplot3d import Axes3D
tsne_as_df=pd.DataFrame(df_copy_tsne)
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')

ax.scatter(tsne_as_df[0], tsne_as_df[1], tsne_as_df[2],s=5)

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.view_init( elev = 15,azim=120)

plt.show()
Out[27]:
<mpl_toolkits.mplot3d.art3d.Path3DCollection at 0x112441b3250>
Out[27]:
Text(0.5, 0, 'X')
Out[27]:
Text(0.5, 0.5, 'Y')
Out[27]:
Text(0.5, 0, 'Z')
No description has been provided for this image

Running k-means on that to cluster our data will not be helpful.
we should do some data preprocessing first.

3. Data preprocessing¶

(Go to top)

Define below all the issues that you had found in the previous part¶

1- one null value at CREDIT_LIMIT, and 313 null values at MINIMUM_PAYMENTS.
2- So many sparce and skueed features.
3- Droping CUST_ID Column.
4- Outlayers.

for each issue adapt this methodology¶

  • start by defining the solution
  • apply this solution onn the data
  • test the solution to make sure that you have solved the issue

First issue

Droppig null values and unnassesary culumns

In [6]:
#solution
df.drop('CUST_ID',axis=1, inplace=True)
df.dropna(axis = 0,inplace=True)
In [14]:
#test
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 8636 entries, 0 to 8949
Data columns (total 17 columns):
 #   Column                            Non-Null Count  Dtype  
---  ------                            --------------  -----  
 0   BALANCE                           8636 non-null   float64
 1   BALANCE_FREQUENCY                 8636 non-null   float64
 2   PURCHASES                         8636 non-null   float64
 3   ONEOFF_PURCHASES                  8636 non-null   float64
 4   INSTALLMENTS_PURCHASES            8636 non-null   float64
 5   CASH_ADVANCE                      8636 non-null   float64
 6   PURCHASES_FREQUENCY               8636 non-null   float64
 7   ONEOFF_PURCHASES_FREQUENCY        8636 non-null   float64
 8   PURCHASES_INSTALLMENTS_FREQUENCY  8636 non-null   float64
 9   CASH_ADVANCE_FREQUENCY            8636 non-null   float64
 10  CASH_ADVANCE_TRX                  8636 non-null   int64  
 11  PURCHASES_TRX                     8636 non-null   int64  
 12  CREDIT_LIMIT                      8636 non-null   float64
 13  PAYMENTS                          8636 non-null   float64
 14  MINIMUM_PAYMENTS                  8636 non-null   float64
 15  PRC_FULL_PAYMENT                  8636 non-null   float64
 16  TENURE                            8636 non-null   int64  
dtypes: float64(14), int64(3)
memory usage: 1.2 MB

Handling data skewness and outer layers by applying log transformation.
Trying MinMax scaler on (open limits features).

In [7]:
open_limits_features = ['BALANCE', 
                          'PURCHASES',
                          'ONEOFF_PURCHASES',
                          'INSTALLMENTS_PURCHASES',
                          'CASH_ADVANCE',  'CREDIT_LIMIT',
                          'PAYMENTS',
                          'MINIMUM_PAYMENTS',
                          'CASH_ADVANCE_TRX',
                          'PURCHASES_TRX'
                          ]
bounded_limits_features = ['BALANCE_FREQUENCY',
                      'PURCHASES_FREQUENCY', 
                      'ONEOFF_PURCHASES_FREQUENCY',
                      'PURCHASES_INSTALLMENTS_FREQUENCY',
                      'CASH_ADVANCE_FREQUENCY',
                      'PRC_FULL_PAYMENT',
                      'TENURE' ]
In [12]:
df_copy_Open = df_copy[open_limits_features]
min_max = MinMaxScaler(feature_range=(0,1))
scaled_data = min_max.fit_transform(df_copy_Open)
scaled_data = pd.DataFrame(scaled_data)
scaled_data.rename(columns={
    0: 'BALANCE',
    1: 'PURCHASES',
    2: 'ONEOFF_PURCHASES',
    3: 'INSTALLMENTS_PURCHASES',
    4: 'CASH_ADVANCE',
    5: 'CREDIT_LIMIT',
    6: 'PAYMENTS',
    7: 'MINIMUM_PAYMENTS',
    8: 'CASH_ADVANCE_TRX',
    9: 'PURCHASES_TRX'
}, inplace=True)
scaled_data[bounded_limits_features] = df_copy[bounded_limits_features]
scaled_data.head()
Out[12]:
BALANCE PURCHASES ONEOFF_PURCHASES INSTALLMENTS_PURCHASES CASH_ADVANCE CREDIT_LIMIT PAYMENTS MINIMUM_PAYMENTS CASH_ADVANCE_TRX PURCHASES_TRX BALANCE_FREQUENCY PURCHASES_FREQUENCY ONEOFF_PURCHASES_FREQUENCY PURCHASES_INSTALLMENTS_FREQUENCY CASH_ADVANCE_FREQUENCY PRC_FULL_PAYMENT TENURE
0 0.002148 0.001945 0.000000 0.004240 0.000000 0.031720 0.003978 0.001826 0.00000 0.005587 0.818182 0.166667 0.000000 0.083333 0.00 0.000000 12.0
1 0.168169 0.000000 0.000000 0.000000 0.136685 0.232053 0.080892 0.014034 0.03252 0.000000 0.909091 0.000000 0.000000 0.000000 0.25 0.222222 12.0
2 0.131026 0.015766 0.018968 0.000000 0.000000 0.248748 0.012263 0.008210 0.00000 0.033520 1.000000 1.000000 1.000000 0.000000 0.00 0.000000 12.0
3 0.042940 0.000326 0.000393 0.000000 0.000000 0.038397 0.013373 0.003204 0.00000 0.002793 NaN NaN NaN NaN NaN NaN NaN
4 0.095038 0.027188 0.000000 0.059257 0.000000 0.058431 0.027602 0.031506 0.00000 0.022346 1.000000 0.083333 0.083333 0.000000 0.00 0.000000 12.0
In [55]:
tsne = TSNE(random_state=42,n_components=2 , perplexity=42,learning_rate=50.5)
df_copy_tsne = tsne.fit_transform(scaled_data)
tsne_as_df=pd.DataFrame(df_copy_tsne)
sns.scatterplot(x=tsne_as_df[0],y=tsne_as_df[1])
Out[55]:
<Axes: xlabel='0', ylabel='1'>
No description has been provided for this image

Still not good, let's try a different transformation method.

the log function is equipped to deal with large numbers. so we will applay it to the coulomns with large and small numbers (open limits features).

In [9]:
#solution
log_scaled_data = np.log1p(df[open_limits_features])
log_scaled_data[bounded_limits_features] = df[bounded_limits_features]
log_scaled_data.head()
Out[9]:
BALANCE PURCHASES ONEOFF_PURCHASES INSTALLMENTS_PURCHASES CASH_ADVANCE CREDIT_LIMIT PAYMENTS MINIMUM_PAYMENTS CASH_ADVANCE_TRX PURCHASES_TRX BALANCE_FREQUENCY PURCHASES_FREQUENCY ONEOFF_PURCHASES_FREQUENCY PURCHASES_INSTALLMENTS_FREQUENCY CASH_ADVANCE_FREQUENCY PRC_FULL_PAYMENT TENURE
0 3.735304 4.568506 0.000000 4.568506 0.000000 6.908755 5.312231 4.945277 0.000000 1.098612 0.818182 0.166667 0.000000 0.083333 0.00 0.000000 12
1 8.071989 0.000000 0.000000 0.000000 8.770896 8.853808 8.319725 6.978531 1.609438 0.000000 0.909091 0.000000 0.000000 0.000000 0.25 0.222222 12
2 7.822504 6.651791 6.651791 0.000000 0.000000 8.922792 6.434654 6.442994 0.000000 2.564949 1.000000 1.000000 1.000000 0.000000 0.00 0.000000 12
4 6.707735 2.833213 2.833213 0.000000 0.000000 7.090910 6.521114 5.504483 0.000000 0.693147 1.000000 0.083333 0.083333 0.000000 0.00 0.000000 12
5 7.501540 7.196147 0.000000 7.196147 0.000000 7.496097 7.244983 7.786654 0.000000 2.197225 1.000000 0.666667 0.000000 0.583333 0.00 0.000000 12
In [22]:
#test
log_scaled_data.describe().T
Out[22]:
count mean std min 25% 50% 75% max
BALANCE 8636.0 6.265737 1.895982 0.000000 5.004584 6.822040 7.652639 9.854515
PURCHASES 8636.0 4.928905 2.922819 0.000000 3.792507 5.930666 7.044888 10.800403
ONEOFF_PURCHASES 8636.0 3.239500 3.252619 0.000000 0.000000 3.828533 6.397096 10.615512
INSTALLMENTS_PURCHASES 8636.0 3.387883 3.091009 0.000000 0.000000 4.562106 6.184453 10.021315
CASH_ADVANCE 8636.0 3.349135 3.571114 0.000000 0.000000 0.000000 7.032964 10.760839
CREDIT_LIMIT 8636.0 8.099572 0.822341 3.931826 7.378384 8.006701 8.779711 10.308986
PAYMENTS 8636.0 6.814890 1.159994 0.048326 6.039205 6.799809 7.576683 10.834125
MINIMUM_PAYMENTS 8636.0 5.922564 1.190068 0.018982 5.136760 5.747647 6.717196 11.243832
CASH_ADVANCE_TRX 8636.0 0.829327 1.015146 0.000000 0.000000 0.000000 1.609438 4.820282
PURCHASES_TRX 8636.0 1.916439 1.378707 0.000000 0.693147 2.079442 2.944439 5.883322
BALANCE_FREQUENCY 8636.0 0.895035 0.207697 0.000000 0.909091 1.000000 1.000000 1.000000
PURCHASES_FREQUENCY 8636.0 0.496000 0.401273 0.000000 0.083333 0.500000 0.916667 1.000000
ONEOFF_PURCHASES_FREQUENCY 8636.0 0.205909 0.300054 0.000000 0.000000 0.083333 0.333333 1.000000
PURCHASES_INSTALLMENTS_FREQUENCY 8636.0 0.368820 0.398093 0.000000 0.000000 0.166667 0.750000 1.000000
CASH_ADVANCE_FREQUENCY 8636.0 0.137604 0.201791 0.000000 0.000000 0.000000 0.250000 1.500000
PRC_FULL_PAYMENT 8636.0 0.159304 0.296271 0.000000 0.000000 0.000000 0.166667 1.000000
TENURE 8636.0 11.534391 1.310984 6.000000 12.000000 12.000000 12.000000 12.000000

Let's tray to applay T-sne to the log transformed data.

In [59]:
tsne = TSNE(random_state=42,n_components=2 , perplexity=42,learning_rate=50.5)
df_copy_tsne = tsne.fit_transform(log_scaled_data)
tsne_as_df=pd.DataFrame(df_copy_tsne)
sns.scatterplot(x=tsne_as_df[0],y=tsne_as_df[1])
Out[59]:
<Axes: xlabel='0', ylabel='1'>
No description has been provided for this image

Amazing !!
by looking at the picture I think T-sne suggests a 7 groupes.
we can also use elbow curve to make shure ( latter ).

PCA Vs. Kernal PCA¶

In [54]:
pca = PCA(n_components=.95) # save 95% of the fuetures
kernel_pca = KernelPCA(n_components = 15,
    kernel="rbf", gamma=10, fit_inverse_transform=True, alpha=0.1
)
Data_pca = pca.fit_transform(log_scaled_data)
Data_kernel_pca = kernel_pca.fit_transform(log_scaled_data)
In [55]:
Data_kernel_pca.shape
Data_pca.shape
Data_pca = pd.DataFrame(Data_pca)
Data_kernel_pca = pd.DataFrame(Data_kernel_pca)
Out[55]:
(8636, 15)
Out[55]:
(8636, 6)

Applaying T-sne on linear PCA.

In [89]:
tsne = TSNE(random_state=42,n_components=2 , perplexity=42,learning_rate=50.5)
df_copy_tsne = tsne.fit_transform(Data_pca)
tsne_as_df_PCA=pd.DataFrame(df_copy_tsne)
sns.scatterplot(x=tsne_as_df_PCA[0],y=tsne_as_df_PCA[1])
Out[89]:
<Axes: xlabel='0', ylabel='1'>
No description has been provided for this image

It looks like PCA performed well in this data.
and visualy it seems that T-sne suggests 7 clusters.

Applaying T-sne on kernel PCA.

In [56]:
tsne = TSNE(random_state=42,n_components=2 , perplexity=42,learning_rate=50.5)
df_copy_tsne = tsne.fit_transform(Data_kernel_pca)
tsne_as_df=pd.DataFrame(df_copy_tsne)
sns.scatterplot(x=tsne_as_df[0],y=tsne_as_df[1])
Out[56]:
<Axes: xlabel='0', ylabel='1'>
No description has been provided for this image

It looks like the kernel PCA has some sort of hummer. 😅
Let's tray the default parameters with ‘sigmoid’.

In [36]:
kernel_pca = KernelPCA(n_components = 16,kernel="sigmoid")
Data_kernel_pca = kernel_pca.fit_transform(log_scaled_data)
In [37]:
tsne = TSNE(random_state=42,n_components=2 , perplexity=42,learning_rate=50.5)
df_copy_tsne = tsne.fit_transform(Data_kernel_pca)
tsne_as_df=pd.DataFrame(df_copy_tsne)
sns.scatterplot(x=tsne_as_df[0],y=tsne_as_df[1])
Out[37]:
<Axes: xlabel='0', ylabel='1'>
No description has been provided for this image

stell not good, let's see poly

In [88]:
kernel_pca = KernelPCA(n_components = 16,kernel="poly")
Data_kernel_pca = kernel_pca.fit_transform(log_scaled_data)

tsne = TSNE(random_state=42,n_components=2 , perplexity=42,learning_rate=50.5)
df_copy_tsne = tsne.fit_transform(Data_kernel_pca)
tsne_as_df_Kernel_PCA=pd.DataFrame(df_copy_tsne)
sns.scatterplot(x=tsne_as_df_Kernel_PCA[0],y=tsne_as_df_Kernel_PCA[1])
Out[88]:
<Axes: xlabel='0', ylabel='1'>
No description has been provided for this image

Amazing!!

DBSCAN¶

In [131]:
dbscan = DBSCAN(eps=2.6, min_samples=5)
dbscan_clusters = dbscan.fit(log_scaled_data)
In [132]:
pd.DataFrame(dbscan_clusters.labels_).value_counts()
Out[132]:
 0    4405
 1    1959
 2    1415
 3     749
-1     108
dtype: int64
In [136]:
names = {-1: 'No class',
         0: 'Clsss A', 
         1: 'Class B', 
         2: 'Class C', 
         3: 'Class D', 
}

# Replace cluster labels with names
cluster_labels = [names[label] for label in dbscan_clusters.labels_]

# Scatter plot
sns.scatterplot(x=tsne_as_df[0], y=tsne_as_df[1], hue=cluster_labels)
plt.legend(loc='upper left', bbox_to_anchor=(1, 0.4))
plt.show()
Out[136]:
<Axes: xlabel='0', ylabel='1'>
Out[136]:
<matplotlib.legend.Legend at 0x223b7596690>
No description has been provided for this image

What is the feature scaling technique that would use and why?
return to this section again and try another technique and see how that will impact your result
for more details on different methods for scaling check these links

  • https://scikit-learn.org/stable/modules/preprocessing.html#preprocessing
  • https://scikit-learn.org/stable/modules/classes.html#module-sklearn.preprocessing
  • https://www.analyticsvidhya.com/blog/2020/07/types-of-feature-transformation-and-scaling/

Answer here:

In [139]:
from scipy.cluster.hierarchy import dendrogram, ward, single

link_mat = ward(log_scaled_data)
dendrogram(link_mat)
plt.show()
Out[139]:
{'icoord': [[15.0, 15.0, 25.0, 25.0],
  [5.0, 5.0, 20.0, 20.0],
  [45.0, 45.0, 55.0, 55.0],
  [35.0, 35.0, 50.0, 50.0],
  [75.0, 75.0, 85.0, 85.0],
  [65.0, 65.0, 80.0, 80.0],
  [95.0, 95.0, 105.0, 105.0],
  [125.0, 125.0, 135.0, 135.0],
  [115.0, 115.0, 130.0, 130.0],
  [100.0, 100.0, 122.5, 122.5],
  [72.5, 72.5, 111.25, 111.25],
  [42.5, 42.5, 91.875, 91.875],
  [12.5, 12.5, 67.1875, 67.1875],
  [155.0, 155.0, 165.0, 165.0],
  [175.0, 175.0, 185.0, 185.0],
  [160.0, 160.0, 180.0, 180.0],
  [145.0, 145.0, 170.0, 170.0],
  [225.0, 225.0, 235.0, 235.0],
  [215.0, 215.0, 230.0, 230.0],
  [205.0, 205.0, 222.5, 222.5],
  [195.0, 195.0, 213.75, 213.75],
  [157.5, 157.5, 204.375, 204.375],
  [245.0, 245.0, 255.0, 255.0],
  [265.0, 265.0, 275.0, 275.0],
  [250.0, 250.0, 270.0, 270.0],
  [295.0, 295.0, 305.0, 305.0],
  [285.0, 285.0, 300.0, 300.0],
  [325.0, 325.0, 335.0, 335.0],
  [355.0, 355.0, 365.0, 365.0],
  [345.0, 345.0, 360.0, 360.0],
  [330.0, 330.0, 352.5, 352.5],
  [315.0, 315.0, 341.25, 341.25],
  [292.5, 292.5, 328.125, 328.125],
  [260.0, 260.0, 310.3125, 310.3125],
  [180.9375, 180.9375, 285.15625, 285.15625],
  [39.84375, 39.84375, 233.046875, 233.046875],
  [395.0, 395.0, 405.0, 405.0],
  [385.0, 385.0, 400.0, 400.0],
  [415.0, 415.0, 425.0, 425.0],
  [392.5, 392.5, 420.0, 420.0],
  [375.0, 375.0, 406.25, 406.25],
  [435.0, 435.0, 445.0, 445.0],
  [455.0, 455.0, 465.0, 465.0],
  [440.0, 440.0, 460.0, 460.0],
  [495.0, 495.0, 505.0, 505.0],
  [525.0, 525.0, 535.0, 535.0],
  [515.0, 515.0, 530.0, 530.0],
  [500.0, 500.0, 522.5, 522.5],
  [485.0, 485.0, 511.25, 511.25],
  [475.0, 475.0, 498.125, 498.125],
  [450.0, 450.0, 486.5625, 486.5625],
  [390.625, 390.625, 468.28125, 468.28125],
  [555.0, 555.0, 565.0, 565.0],
  [545.0, 545.0, 560.0, 560.0],
  [585.0, 585.0, 595.0, 595.0],
  [575.0, 575.0, 590.0, 590.0],
  [552.5, 552.5, 582.5, 582.5],
  [625.0, 625.0, 635.0, 635.0],
  [615.0, 615.0, 630.0, 630.0],
  [605.0, 605.0, 622.5, 622.5],
  [655.0, 655.0, 665.0, 665.0],
  [675.0, 675.0, 685.0, 685.0],
  [660.0, 660.0, 680.0, 680.0],
  [645.0, 645.0, 670.0, 670.0],
  [613.75, 613.75, 657.5, 657.5],
  [567.5, 567.5, 635.625, 635.625],
  [429.453125, 429.453125, 601.5625, 601.5625],
  [705.0, 705.0, 715.0, 715.0],
  [695.0, 695.0, 710.0, 710.0],
  [735.0, 735.0, 745.0, 745.0],
  [725.0, 725.0, 740.0, 740.0],
  [702.5, 702.5, 732.5, 732.5],
  [755.0, 755.0, 765.0, 765.0],
  [785.0, 785.0, 795.0, 795.0],
  [775.0, 775.0, 790.0, 790.0],
  [760.0, 760.0, 782.5, 782.5],
  [835.0, 835.0, 845.0, 845.0],
  [825.0, 825.0, 840.0, 840.0],
  [815.0, 815.0, 832.5, 832.5],
  [805.0, 805.0, 823.75, 823.75],
  [771.25, 771.25, 814.375, 814.375],
  [717.5, 717.5, 792.8125, 792.8125],
  [855.0, 855.0, 865.0, 865.0],
  [875.0, 875.0, 885.0, 885.0],
  [895.0, 895.0, 905.0, 905.0],
  [880.0, 880.0, 900.0, 900.0],
  [860.0, 860.0, 890.0, 890.0],
  [945.0, 945.0, 955.0, 955.0],
  [935.0, 935.0, 950.0, 950.0],
  [925.0, 925.0, 942.5, 942.5],
  [915.0, 915.0, 933.75, 933.75],
  [975.0, 975.0, 985.0, 985.0],
  [965.0, 965.0, 980.0, 980.0],
  [1005.0, 1005.0, 1015.0, 1015.0],
  [995.0, 995.0, 1010.0, 1010.0],
  [1025.0, 1025.0, 1035.0, 1035.0],
  [1002.5, 1002.5, 1030.0, 1030.0],
  [972.5, 972.5, 1016.25, 1016.25],
  [924.375, 924.375, 994.375, 994.375],
  [875.0, 875.0, 959.375, 959.375],
  [1045.0, 1045.0, 1055.0, 1055.0],
  [1065.0, 1065.0, 1075.0, 1075.0],
  [1085.0, 1085.0, 1095.0, 1095.0],
  [1070.0, 1070.0, 1090.0, 1090.0],
  [1050.0, 1050.0, 1080.0, 1080.0],
  [1105.0, 1105.0, 1115.0, 1115.0],
  [1125.0, 1125.0, 1135.0, 1135.0],
  [1145.0, 1145.0, 1155.0, 1155.0],
  [1130.0, 1130.0, 1150.0, 1150.0],
  [1165.0, 1165.0, 1175.0, 1175.0],
  [1185.0, 1185.0, 1195.0, 1195.0],
  [1170.0, 1170.0, 1190.0, 1190.0],
  [1140.0, 1140.0, 1180.0, 1180.0],
  [1110.0, 1110.0, 1160.0, 1160.0],
  [1065.0, 1065.0, 1135.0, 1135.0],
  [917.1875, 917.1875, 1100.0, 1100.0],
  [755.15625, 755.15625, 1008.59375, 1008.59375],
  [515.5078125, 515.5078125, 881.875, 881.875],
  [1205.0, 1205.0, 1215.0, 1215.0],
  [1235.0, 1235.0, 1245.0, 1245.0],
  [1225.0, 1225.0, 1240.0, 1240.0],
  [1210.0, 1210.0, 1232.5, 1232.5],
  [1255.0, 1255.0, 1265.0, 1265.0],
  [1275.0, 1275.0, 1285.0, 1285.0],
  [1315.0, 1315.0, 1325.0, 1325.0],
  [1305.0, 1305.0, 1320.0, 1320.0],
  [1295.0, 1295.0, 1312.5, 1312.5],
  [1280.0, 1280.0, 1303.75, 1303.75],
  [1260.0, 1260.0, 1291.875, 1291.875],
  [1345.0, 1345.0, 1355.0, 1355.0],
  [1365.0, 1365.0, 1375.0, 1375.0],
  [1350.0, 1350.0, 1370.0, 1370.0],
  [1335.0, 1335.0, 1360.0, 1360.0],
  [1275.9375, 1275.9375, 1347.5, 1347.5],
  [1221.25, 1221.25, 1311.71875, 1311.71875],
  [1385.0, 1385.0, 1395.0, 1395.0],
  [1415.0, 1415.0, 1425.0, 1425.0],
  [1405.0, 1405.0, 1420.0, 1420.0],
  [1390.0, 1390.0, 1412.5, 1412.5],
  [1445.0, 1445.0, 1455.0, 1455.0],
  [1465.0, 1465.0, 1475.0, 1475.0],
  [1450.0, 1450.0, 1470.0, 1470.0],
  [1435.0, 1435.0, 1460.0, 1460.0],
  [1485.0, 1485.0, 1495.0, 1495.0],
  [1505.0, 1505.0, 1515.0, 1515.0],
  [1545.0, 1545.0, 1555.0, 1555.0],
  [1535.0, 1535.0, 1550.0, 1550.0],
  [1525.0, 1525.0, 1542.5, 1542.5],
  [1510.0, 1510.0, 1533.75, 1533.75],
  [1490.0, 1490.0, 1521.875, 1521.875],
  [1447.5, 1447.5, 1505.9375, 1505.9375],
  [1401.25, 1401.25, 1476.71875, 1476.71875],
  [1565.0, 1565.0, 1575.0, 1575.0],
  [1585.0, 1585.0, 1595.0, 1595.0],
  [1615.0, 1615.0, 1625.0, 1625.0],
  [1605.0, 1605.0, 1620.0, 1620.0],
  [1635.0, 1635.0, 1645.0, 1645.0],
  [1612.5, 1612.5, 1640.0, 1640.0],
  [1590.0, 1590.0, 1626.25, 1626.25],
  [1570.0, 1570.0, 1608.125, 1608.125],
  [1655.0, 1655.0, 1665.0, 1665.0],
  [1675.0, 1675.0, 1685.0, 1685.0],
  [1695.0, 1695.0, 1705.0, 1705.0],
  [1715.0, 1715.0, 1725.0, 1725.0],
  [1735.0, 1735.0, 1745.0, 1745.0],
  [1720.0, 1720.0, 1740.0, 1740.0],
  [1700.0, 1700.0, 1730.0, 1730.0],
  [1680.0, 1680.0, 1715.0, 1715.0],
  [1660.0, 1660.0, 1697.5, 1697.5],
  [1589.0625, 1589.0625, 1678.75, 1678.75],
  [1438.984375, 1438.984375, 1633.90625, 1633.90625],
  [1266.484375, 1266.484375, 1536.4453125, 1536.4453125],
  [698.69140625, 698.69140625, 1401.46484375, 1401.46484375],
  [136.4453125, 136.4453125, 1050.078125, 1050.078125],
  [1765.0, 1765.0, 1775.0, 1775.0],
  [1755.0, 1755.0, 1770.0, 1770.0],
  [1795.0, 1795.0, 1805.0, 1805.0],
  [1785.0, 1785.0, 1800.0, 1800.0],
  [1762.5, 1762.5, 1792.5, 1792.5],
  [1825.0, 1825.0, 1835.0, 1835.0],
  [1815.0, 1815.0, 1830.0, 1830.0],
  [1855.0, 1855.0, 1865.0, 1865.0],
  [1845.0, 1845.0, 1860.0, 1860.0],
  [1875.0, 1875.0, 1885.0, 1885.0],
  [1852.5, 1852.5, 1880.0, 1880.0],
  [1822.5, 1822.5, 1866.25, 1866.25],
  [1777.5, 1777.5, 1844.375, 1844.375],
  [1905.0, 1905.0, 1915.0, 1915.0],
  [1895.0, 1895.0, 1910.0, 1910.0],
  [1925.0, 1925.0, 1935.0, 1935.0],
  [1955.0, 1955.0, 1965.0, 1965.0],
  [1945.0, 1945.0, 1960.0, 1960.0],
  [1930.0, 1930.0, 1952.5, 1952.5],
  [1902.5, 1902.5, 1941.25, 1941.25],
  [1975.0, 1975.0, 1985.0, 1985.0],
  [2015.0, 2015.0, 2025.0, 2025.0],
  [2005.0, 2005.0, 2020.0, 2020.0],
  [1995.0, 1995.0, 2012.5, 2012.5],
  [1980.0, 1980.0, 2003.75, 2003.75],
  [2035.0, 2035.0, 2045.0, 2045.0],
  [2065.0, 2065.0, 2075.0, 2075.0],
  [2055.0, 2055.0, 2070.0, 2070.0],
  [2040.0, 2040.0, 2062.5, 2062.5],
  [2085.0, 2085.0, 2095.0, 2095.0],
  [2105.0, 2105.0, 2115.0, 2115.0],
  [2090.0, 2090.0, 2110.0, 2110.0],
  [2051.25, 2051.25, 2100.0, 2100.0],
  [1991.875, 1991.875, 2075.625, 2075.625],
  [1921.875, 1921.875, 2033.75, 2033.75],
  [1810.9375, 1810.9375, 1977.8125, 1977.8125],
  [2125.0, 2125.0, 2135.0, 2135.0],
  [2155.0, 2155.0, 2165.0, 2165.0],
  [2145.0, 2145.0, 2160.0, 2160.0],
  [2195.0, 2195.0, 2205.0, 2205.0],
  [2185.0, 2185.0, 2200.0, 2200.0],
  [2175.0, 2175.0, 2192.5, 2192.5],
  [2152.5, 2152.5, 2183.75, 2183.75],
  [2130.0, 2130.0, 2168.125, 2168.125],
  [2245.0, 2245.0, 2255.0, 2255.0],
  [2235.0, 2235.0, 2250.0, 2250.0],
  [2225.0, 2225.0, 2242.5, 2242.5],
  [2295.0, 2295.0, 2305.0, 2305.0],
  [2285.0, 2285.0, 2300.0, 2300.0],
  [2275.0, 2275.0, 2292.5, 2292.5],
  [2265.0, 2265.0, 2283.75, 2283.75],
  [2233.75, 2233.75, 2274.375, 2274.375],
  [2215.0, 2215.0, 2254.0625, 2254.0625],
  [2149.0625, 2149.0625, 2234.53125, 2234.53125],
  [1894.375, 1894.375, 2191.796875, 2191.796875],
  [2335.0, 2335.0, 2345.0, 2345.0],
  [2325.0, 2325.0, 2340.0, 2340.0],
  [2315.0, 2315.0, 2332.5, 2332.5],
  [2355.0, 2355.0, 2365.0, 2365.0],
  [2385.0, 2385.0, 2395.0, 2395.0],
  [2375.0, 2375.0, 2390.0, 2390.0],
  [2360.0, 2360.0, 2382.5, 2382.5],
  [2323.75, 2323.75, 2371.25, 2371.25],
  [2415.0, 2415.0, 2425.0, 2425.0],
  [2405.0, 2405.0, 2420.0, 2420.0],
  [2435.0, 2435.0, 2445.0, 2445.0],
  [2455.0, 2455.0, 2465.0, 2465.0],
  [2440.0, 2440.0, 2460.0, 2460.0],
  [2475.0, 2475.0, 2485.0, 2485.0],
  [2495.0, 2495.0, 2505.0, 2505.0],
  [2480.0, 2480.0, 2500.0, 2500.0],
  [2450.0, 2450.0, 2490.0, 2490.0],
  [2412.5, 2412.5, 2470.0, 2470.0],
  [2347.5, 2347.5, 2441.25, 2441.25],
  [2525.0, 2525.0, 2535.0, 2535.0],
  [2555.0, 2555.0, 2565.0, 2565.0],
  [2545.0, 2545.0, 2560.0, 2560.0],
  [2530.0, 2530.0, 2552.5, 2552.5],
  [2575.0, 2575.0, 2585.0, 2585.0],
  [2615.0, 2615.0, 2625.0, 2625.0],
  [2605.0, 2605.0, 2620.0, 2620.0],
  [2595.0, 2595.0, 2612.5, 2612.5],
  [2580.0, 2580.0, 2603.75, 2603.75],
  [2541.25, 2541.25, 2591.875, 2591.875],
  [2645.0, 2645.0, 2655.0, 2655.0],
  [2635.0, 2635.0, 2650.0, 2650.0],
  [2665.0, 2665.0, 2675.0, 2675.0],
  [2685.0, 2685.0, 2695.0, 2695.0],
  [2670.0, 2670.0, 2690.0, 2690.0],
  [2642.5, 2642.5, 2680.0, 2680.0],
  [2735.0, 2735.0, 2745.0, 2745.0],
  [2725.0, 2725.0, 2740.0, 2740.0],
  [2715.0, 2715.0, 2732.5, 2732.5],
  [2705.0, 2705.0, 2723.75, 2723.75],
  [2661.25, 2661.25, 2714.375, 2714.375],
  [2566.5625, 2566.5625, 2687.8125, 2687.8125],
  [2515.0, 2515.0, 2627.1875, 2627.1875],
  [2755.0, 2755.0, 2765.0, 2765.0],
  [2785.0, 2785.0, 2795.0, 2795.0],
  [2775.0, 2775.0, 2790.0, 2790.0],
  [2825.0, 2825.0, 2835.0, 2835.0],
  [2815.0, 2815.0, 2830.0, 2830.0],
  [2805.0, 2805.0, 2822.5, 2822.5],
  [2855.0, 2855.0, 2865.0, 2865.0],
  [2845.0, 2845.0, 2860.0, 2860.0],
  [2875.0, 2875.0, 2885.0, 2885.0],
  [2852.5, 2852.5, 2880.0, 2880.0],
  [2813.75, 2813.75, 2866.25, 2866.25],
  [2782.5, 2782.5, 2840.0, 2840.0],
  [2760.0, 2760.0, 2811.25, 2811.25],
  [2895.0, 2895.0, 2905.0, 2905.0],
  [2935.0, 2935.0, 2945.0, 2945.0],
  [2925.0, 2925.0, 2940.0, 2940.0],
  [2955.0, 2955.0, 2965.0, 2965.0],
  [2932.5, 2932.5, 2960.0, 2960.0],
  [2915.0, 2915.0, 2946.25, 2946.25],
  [2900.0, 2900.0, 2930.625, 2930.625],
  [2975.0, 2975.0, 2985.0, 2985.0],
  [3015.0, 3015.0, 3025.0, 3025.0],
  [3005.0, 3005.0, 3020.0, 3020.0],
  [2995.0, 2995.0, 3012.5, 3012.5],
  [2980.0, 2980.0, 3003.75, 3003.75],
  [2915.3125, 2915.3125, 2991.875, 2991.875],
  [3035.0, 3035.0, 3045.0, 3045.0],
  [3065.0, 3065.0, 3075.0, 3075.0],
  [3055.0, 3055.0, 3070.0, 3070.0],
  [3040.0, 3040.0, 3062.5, 3062.5],
  [3095.0, 3095.0, 3105.0, 3105.0],
  [3085.0, 3085.0, 3100.0, 3100.0],
  [3145.0, 3145.0, 3155.0, 3155.0],
  [3135.0, 3135.0, 3150.0, 3150.0],
  [3125.0, 3125.0, 3142.5, 3142.5],
  [3115.0, 3115.0, 3133.75, 3133.75],
  [3092.5, 3092.5, 3124.375, 3124.375],
  [3175.0, 3175.0, 3185.0, 3185.0],
  [3165.0, 3165.0, 3180.0, 3180.0],
  [3108.4375, 3108.4375, 3172.5, 3172.5],
  [3051.25, 3051.25, 3140.46875, 3140.46875],
  [2953.59375, 2953.59375, 3095.859375, 3095.859375],
  [2785.625, 2785.625, 3024.7265625, 3024.7265625],
  [2571.09375, 2571.09375, 2905.17578125, 2905.17578125],
  [3205.0, 3205.0, 3215.0, 3215.0],
  [3195.0, 3195.0, 3210.0, 3210.0],
  [3235.0, 3235.0, 3245.0, 3245.0],
  [3225.0, 3225.0, 3240.0, 3240.0],
  [3202.5, 3202.5, 3232.5, 3232.5],
  [3255.0, 3255.0, 3265.0, 3265.0],
  [3275.0, 3275.0, 3285.0, 3285.0],
  [3260.0, 3260.0, 3280.0, 3280.0],
  [3295.0, 3295.0, 3305.0, 3305.0],
  [3315.0, 3315.0, 3325.0, 3325.0],
  [3300.0, 3300.0, 3320.0, 3320.0],
  [3355.0, 3355.0, 3365.0, 3365.0],
  [3345.0, 3345.0, 3360.0, 3360.0],
  [3335.0, 3335.0, 3352.5, 3352.5],
  [3310.0, 3310.0, 3343.75, 3343.75],
  [3270.0, 3270.0, 3326.875, 3326.875],
  [3217.5, 3217.5, 3298.4375, 3298.4375],
  [3405.0, 3405.0, 3415.0, 3415.0],
  [3395.0, 3395.0, 3410.0, 3410.0],
  [3385.0, 3385.0, 3402.5, 3402.5],
  [3375.0, 3375.0, 3393.75, 3393.75],
  [3445.0, 3445.0, 3455.0, 3455.0],
  [3435.0, 3435.0, 3450.0, 3450.0],
  [3425.0, 3425.0, 3442.5, 3442.5],
  [3475.0, 3475.0, 3485.0, 3485.0],
  [3465.0, 3465.0, 3480.0, 3480.0],
  [3495.0, 3495.0, 3505.0, 3505.0],
  [3525.0, 3525.0, 3535.0, 3535.0],
  [3515.0, 3515.0, 3530.0, 3530.0],
  [3500.0, 3500.0, 3522.5, 3522.5],
  [3472.5, 3472.5, 3511.25, 3511.25],
  [3433.75, 3433.75, 3491.875, 3491.875],
  [3384.375, 3384.375, 3462.8125, 3462.8125],
  [3555.0, 3555.0, 3565.0, 3565.0],
  [3545.0, 3545.0, 3560.0, 3560.0],
  [3585.0, 3585.0, 3595.0, 3595.0],
  [3605.0, 3605.0, 3615.0, 3615.0],
  [3590.0, 3590.0, 3610.0, 3610.0],
  [3575.0, 3575.0, 3600.0, 3600.0],
  [3552.5, 3552.5, 3587.5, 3587.5],
  [3423.59375, 3423.59375, 3570.0, 3570.0],
  [3257.96875, 3257.96875, 3496.796875, 3496.796875],
  [3625.0, 3625.0, 3635.0, 3635.0],
  [3645.0, 3645.0, 3655.0, 3655.0],
  [3665.0, 3665.0, 3675.0, 3675.0],
  [3650.0, 3650.0, 3670.0, 3670.0],
  [3630.0, 3630.0, 3660.0, 3660.0],
  [3685.0, 3685.0, 3695.0, 3695.0],
  [3705.0, 3705.0, 3715.0, 3715.0],
  [3725.0, 3725.0, 3735.0, 3735.0],
  [3745.0, 3745.0, 3755.0, 3755.0],
  [3775.0, 3775.0, 3785.0, 3785.0],
  [3765.0, 3765.0, 3780.0, 3780.0],
  [3750.0, 3750.0, 3772.5, 3772.5],
  [3730.0, 3730.0, 3761.25, 3761.25],
  [3710.0, 3710.0, 3745.625, 3745.625],
  [3815.0, 3815.0, 3825.0, 3825.0],
  [3805.0, 3805.0, 3820.0, 3820.0],
  [3845.0, 3845.0, 3855.0, 3855.0],
  [3835.0, 3835.0, 3850.0, 3850.0],
  [3812.5, 3812.5, 3842.5, 3842.5],
  [3795.0, 3795.0, 3827.5, 3827.5],
  [3727.8125, 3727.8125, 3811.25, 3811.25],
  [3690.0, 3690.0, 3769.53125, 3769.53125],
  [3645.0, 3645.0, 3729.765625, 3729.765625],
  [3875.0, 3875.0, 3885.0, 3885.0],
  [3865.0, 3865.0, 3880.0, 3880.0],
  [3895.0, 3895.0, 3905.0, 3905.0],
  [3915.0, 3915.0, 3925.0, 3925.0],
  [3900.0, 3900.0, 3920.0, 3920.0],
  [3872.5, 3872.5, 3910.0, 3910.0],
  [3935.0, 3935.0, 3945.0, 3945.0],
  [3955.0, 3955.0, 3965.0, 3965.0],
  [4005.0, 4005.0, 4015.0, 4015.0],
  [3995.0, 3995.0, 4010.0, 4010.0],
  [3985.0, 3985.0, 4002.5, 4002.5],
  [3975.0, 3975.0, 3993.75, 3993.75],
  [3960.0, 3960.0, 3984.375, 3984.375],
  [3940.0, 3940.0, 3972.1875, 3972.1875],
  [3891.25, 3891.25, 3956.09375, 3956.09375],
  [4035.0, 4035.0, 4045.0, 4045.0],
  [4065.0, 4065.0, 4075.0, 4075.0],
  [4085.0, 4085.0, 4095.0, 4095.0],
  [4070.0, 4070.0, 4090.0, 4090.0],
  [4055.0, 4055.0, 4080.0, 4080.0],
  [4040.0, 4040.0, 4067.5, 4067.5],
  [4025.0, 4025.0, 4053.75, 4053.75],
  [4105.0, 4105.0, 4115.0, 4115.0],
  [4125.0, 4125.0, 4135.0, 4135.0],
  [4110.0, 4110.0, 4130.0, 4130.0],
  [4165.0, 4165.0, 4175.0, 4175.0],
  [4155.0, 4155.0, 4170.0, 4170.0],
  [4145.0, 4145.0, 4162.5, 4162.5],
  [4120.0, 4120.0, 4153.75, 4153.75],
  [4039.375, 4039.375, 4136.875, 4136.875],
  [3923.671875, 3923.671875, 4088.125, 4088.125],
  [4195.0, 4195.0, 4205.0, 4205.0],
  [4185.0, 4185.0, 4200.0, 4200.0],
  [4215.0, 4215.0, 4225.0, 4225.0],
  [4235.0, 4235.0, 4245.0, 4245.0],
  [4220.0, 4220.0, 4240.0, 4240.0],
  [4265.0, 4265.0, 4275.0, 4275.0],
  [4285.0, 4285.0, 4295.0, 4295.0],
  [4270.0, 4270.0, 4290.0, 4290.0],
  [4255.0, 4255.0, 4280.0, 4280.0],
  [4230.0, 4230.0, 4267.5, 4267.5],
  [4192.5, 4192.5, 4248.75, 4248.75],
  [4315.0, 4315.0, 4325.0, 4325.0],
  [4305.0, 4305.0, 4320.0, 4320.0],
  [4355.0, 4355.0, 4365.0, 4365.0],
  [4345.0, 4345.0, 4360.0, 4360.0],
  [4335.0, 4335.0, 4352.5, 4352.5],
  [4312.5, 4312.5, 4343.75, 4343.75],
  [4220.625, 4220.625, 4328.125, 4328.125],
  [4375.0, 4375.0, 4385.0, 4385.0],
  [4395.0, 4395.0, 4405.0, 4405.0],
  [4415.0, 4415.0, 4425.0, 4425.0],
  [4400.0, 4400.0, 4420.0, 4420.0],
  [4380.0, 4380.0, 4410.0, 4410.0],
  [4455.0, 4455.0, 4465.0, 4465.0],
  [4445.0, 4445.0, 4460.0, 4460.0],
  [4435.0, 4435.0, 4452.5, 4452.5],
  [4485.0, 4485.0, 4495.0, 4495.0],
  [4475.0, 4475.0, 4490.0, 4490.0],
  [4443.75, 4443.75, 4482.5, 4482.5],
  [4395.0, 4395.0, 4463.125, 4463.125],
  [4274.375, 4274.375, 4429.0625, 4429.0625],
  [4005.8984375, 4005.8984375, 4351.71875, 4351.71875],
  [3687.3828125, 3687.3828125, 4178.80859375, 4178.80859375],
  [3377.3828125, 3377.3828125, 3933.095703125, 3933.095703125],
  [2738.134765625, 2738.134765625, 3655.2392578125, 3655.2392578125],
  [2394.375, 2394.375, 3196.68701171875, 3196.68701171875],
  [2043.0859375, 2043.0859375, 2795.531005859375, 2795.531005859375],
  [593.26171875, 593.26171875, 2419.3084716796875, 2419.3084716796875],
  [4505.0, 4505.0, 4515.0, 4515.0],
  [4525.0, 4525.0, 4535.0, 4535.0],
  [4545.0, 4545.0, 4555.0, 4555.0],
  [4595.0, 4595.0, 4605.0, 4605.0],
  [4585.0, 4585.0, 4600.0, 4600.0],
  [4575.0, 4575.0, 4592.5, 4592.5],
  [4565.0, 4565.0, 4583.75, 4583.75],
  [4550.0, 4550.0, 4574.375, 4574.375],
  [4530.0, 4530.0, 4562.1875, 4562.1875],
  [4510.0, 4510.0, 4546.09375, 4546.09375],
  [4625.0, 4625.0, 4635.0, 4635.0],
  [4645.0, 4645.0, 4655.0, 4655.0],
  [4665.0, 4665.0, 4675.0, 4675.0],
  [4650.0, 4650.0, 4670.0, 4670.0],
  [4630.0, 4630.0, 4660.0, 4660.0],
  [4615.0, 4615.0, 4645.0, 4645.0],
  [4528.046875, 4528.046875, 4630.0, 4630.0],
  [4705.0, 4705.0, 4715.0, 4715.0],
  [4695.0, 4695.0, 4710.0, 4710.0],
  [4685.0, 4685.0, 4702.5, 4702.5],
  [4725.0, 4725.0, 4735.0, 4735.0],
  [4765.0, 4765.0, 4775.0, 4775.0],
  [4755.0, 4755.0, 4770.0, 4770.0],
  [4745.0, 4745.0, 4762.5, 4762.5],
  [4730.0, 4730.0, 4753.75, 4753.75],
  [4795.0, 4795.0, 4805.0, 4805.0],
  [4785.0, 4785.0, 4800.0, 4800.0],
  [4815.0, 4815.0, 4825.0, 4825.0],
  [4792.5, 4792.5, 4820.0, 4820.0],
  [4741.875, 4741.875, 4806.25, 4806.25],
  [4693.75, 4693.75, 4774.0625, 4774.0625],
  [4835.0, 4835.0, 4845.0, 4845.0],
  [4865.0, 4865.0, 4875.0, 4875.0],
  [4855.0, 4855.0, 4870.0, 4870.0],
  [4840.0, 4840.0, 4862.5, 4862.5],
  [4895.0, 4895.0, 4905.0, 4905.0],
  [4885.0, 4885.0, 4900.0, 4900.0],
  [4851.25, 4851.25, 4892.5, 4892.5],
  [4915.0, 4915.0, 4925.0, 4925.0],
  [4935.0, 4935.0, 4945.0, 4945.0],
  [4955.0, 4955.0, 4965.0, 4965.0],
  [4940.0, 4940.0, 4960.0, 4960.0],
  [4920.0, 4920.0, 4950.0, 4950.0],
  [4985.0, 4985.0, 4995.0, 4995.0],
  [4975.0, 4975.0, 4990.0, 4990.0],
  [5015.0, 5015.0, 5025.0, 5025.0],
  [5005.0, 5005.0, 5020.0, 5020.0],
  [4982.5, 4982.5, 5012.5, 5012.5],
  [5045.0, 5045.0, 5055.0, 5055.0],
  [5035.0, 5035.0, 5050.0, 5050.0],
  [5075.0, 5075.0, 5085.0, 5085.0],
  [5065.0, 5065.0, 5080.0, 5080.0],
  [5042.5, 5042.5, 5072.5, 5072.5],
  [4997.5, 4997.5, 5057.5, 5057.5],
  [4935.0, 4935.0, 5027.5, 5027.5],
  [4871.875, 4871.875, 4981.25, 4981.25],
  [5105.0, 5105.0, 5115.0, 5115.0],
  [5095.0, 5095.0, 5110.0, 5110.0],
  [5125.0, 5125.0, 5135.0, 5135.0],
  [5155.0, 5155.0, 5165.0, 5165.0],
  [5145.0, 5145.0, 5160.0, 5160.0],
  [5130.0, 5130.0, 5152.5, 5152.5],
  [5102.5, 5102.5, 5141.25, 5141.25],
  [5175.0, 5175.0, 5185.0, 5185.0],
  [5195.0, 5195.0, 5205.0, 5205.0],
  [5180.0, 5180.0, 5200.0, 5200.0],
  [5235.0, 5235.0, 5245.0, 5245.0],
  [5225.0, 5225.0, 5240.0, 5240.0],
  [5215.0, 5215.0, 5232.5, 5232.5],
  [5190.0, 5190.0, 5223.75, 5223.75],
  [5121.875, 5121.875, 5206.875, 5206.875],
  [5265.0, 5265.0, 5275.0, 5275.0],
  [5255.0, 5255.0, 5270.0, 5270.0],
  [5305.0, 5305.0, 5315.0, 5315.0],
  [5295.0, 5295.0, 5310.0, 5310.0],
  [5285.0, 5285.0, 5302.5, 5302.5],
  [5262.5, 5262.5, 5293.75, 5293.75],
  [5355.0, 5355.0, 5365.0, 5365.0],
  [5345.0, 5345.0, 5360.0, 5360.0],
  [5335.0, 5335.0, 5352.5, 5352.5],
  [5325.0, 5325.0, 5343.75, 5343.75],
  [5385.0, 5385.0, 5395.0, 5395.0],
  [5375.0, 5375.0, 5390.0, 5390.0],
  [5415.0, 5415.0, 5425.0, 5425.0],
  [5405.0, 5405.0, 5420.0, 5420.0],
  [5382.5, 5382.5, 5412.5, 5412.5],
  [5334.375, 5334.375, 5397.5, 5397.5],
  [5278.125, 5278.125, 5365.9375, 5365.9375],
  [5164.375, 5164.375, 5322.03125, 5322.03125],
  [5435.0, 5435.0, 5445.0, 5445.0],
  [5455.0, 5455.0, 5465.0, 5465.0],
  [5440.0, 5440.0, 5460.0, 5460.0],
  [5475.0, 5475.0, 5485.0, 5485.0],
  [5495.0, 5495.0, 5505.0, 5505.0],
  [5480.0, 5480.0, 5500.0, 5500.0],
  [5515.0, 5515.0, 5525.0, 5525.0],
  [5535.0, 5535.0, 5545.0, 5545.0],
  [5565.0, 5565.0, 5575.0, 5575.0],
  [5555.0, 5555.0, 5570.0, 5570.0],
  [5540.0, 5540.0, 5562.5, 5562.5],
  [5520.0, 5520.0, 5551.25, 5551.25],
  [5490.0, 5490.0, 5535.625, 5535.625],
  [5450.0, 5450.0, 5512.8125, 5512.8125],
  [5243.203125, 5243.203125, 5481.40625, 5481.40625],
  [4926.5625, 4926.5625, 5362.3046875, 5362.3046875],
  [5585.0, 5585.0, 5595.0, 5595.0],
  [5605.0, 5605.0, 5615.0, 5615.0],
  [5590.0, 5590.0, 5610.0, 5610.0],
  [5645.0, 5645.0, 5655.0, 5655.0],
  [5635.0, 5635.0, 5650.0, 5650.0],
  [5625.0, 5625.0, 5642.5, 5642.5],
  [5675.0, 5675.0, 5685.0, 5685.0],
  [5665.0, 5665.0, 5680.0, 5680.0],
  [5695.0, 5695.0, 5705.0, 5705.0],
  [5672.5, 5672.5, 5700.0, 5700.0],
  [5633.75, 5633.75, 5686.25, 5686.25],
  [5735.0, 5735.0, 5745.0, 5745.0],
  [5725.0, 5725.0, 5740.0, 5740.0],
  [5715.0, 5715.0, 5732.5, 5732.5],
  [5765.0, 5765.0, 5775.0, 5775.0],
  [5795.0, 5795.0, 5805.0, 5805.0],
  [5785.0, 5785.0, 5800.0, 5800.0],
  [5770.0, 5770.0, 5792.5, 5792.5],
  [5755.0, 5755.0, 5781.25, 5781.25],
  [5723.75, 5723.75, 5768.125, 5768.125],
  [5660.0, 5660.0, 5745.9375, 5745.9375],
  [5825.0, 5825.0, 5835.0, 5835.0],
  [5815.0, 5815.0, 5830.0, 5830.0],
  [5855.0, 5855.0, 5865.0, 5865.0],
  [5845.0, 5845.0, 5860.0, 5860.0],
  [5822.5, 5822.5, 5852.5, 5852.5],
  [5885.0, 5885.0, 5895.0, 5895.0],
  [5915.0, 5915.0, 5925.0, 5925.0],
  [5905.0, 5905.0, 5920.0, 5920.0],
  [5890.0, 5890.0, 5912.5, 5912.5],
  [5875.0, 5875.0, 5901.25, 5901.25],
  [5945.0, 5945.0, 5955.0, 5955.0],
  [5935.0, 5935.0, 5950.0, 5950.0],
  [5965.0, 5965.0, 5975.0, 5975.0],
  [5995.0, 5995.0, 6005.0, 6005.0],
  [5985.0, 5985.0, 6000.0, 6000.0],
  [6015.0, 6015.0, 6025.0, 6025.0],
  [5992.5, 5992.5, 6020.0, 6020.0],
  [5970.0, 5970.0, 6006.25, 6006.25],
  [6035.0, 6035.0, 6045.0, 6045.0],
  [6055.0, 6055.0, 6065.0, 6065.0],
  [6040.0, 6040.0, 6060.0, 6060.0],
  [5988.125, 5988.125, 6050.0, 6050.0],
  [5942.5, 5942.5, 6019.0625, 6019.0625],
  [5888.125, 5888.125, 5980.78125, 5980.78125],
  [5837.5, 5837.5, 5934.453125, 5934.453125],
  [5702.96875, 5702.96875, 5885.9765625, 5885.9765625],
  [5600.0, 5600.0, 5794.47265625, 5794.47265625],
  [5144.43359375, 5144.43359375, 5697.236328125, 5697.236328125],
  [4733.90625, 4733.90625, 5420.8349609375, 5420.8349609375],
  [4579.0234375, 4579.0234375, 5077.37060546875, 5077.37060546875],
  [6075.0, 6075.0, 6085.0, 6085.0],
  [6095.0, 6095.0, 6105.0, 6105.0],
  [6125.0, 6125.0, 6135.0, 6135.0],
  [6115.0, 6115.0, 6130.0, 6130.0],
  [6100.0, 6100.0, 6122.5, 6122.5],
  [6145.0, 6145.0, 6155.0, 6155.0],
  [6111.25, 6111.25, 6150.0, 6150.0],
  [6080.0, 6080.0, 6130.625, 6130.625],
  [6185.0, 6185.0, 6195.0, 6195.0],
  [6175.0, 6175.0, 6190.0, 6190.0],
  [6165.0, 6165.0, 6182.5, 6182.5],
  [6205.0, 6205.0, 6215.0, 6215.0],
  [6173.75, 6173.75, 6210.0, 6210.0],
  [6105.3125, 6105.3125, 6191.875, 6191.875],
  [6225.0, 6225.0, 6235.0, 6235.0],
  [6245.0, 6245.0, 6255.0, 6255.0],
  [6230.0, 6230.0, 6250.0, 6250.0],
  [6275.0, 6275.0, 6285.0, 6285.0],
  [6265.0, 6265.0, 6280.0, 6280.0],
  [6315.0, 6315.0, 6325.0, 6325.0],
  [6305.0, 6305.0, 6320.0, 6320.0],
  [6295.0, 6295.0, 6312.5, 6312.5],
  [6272.5, 6272.5, 6303.75, 6303.75],
  [6240.0, 6240.0, 6288.125, 6288.125],
  [6148.59375, 6148.59375, 6264.0625, 6264.0625],
  [6355.0, 6355.0, 6365.0, 6365.0],
  [6345.0, 6345.0, 6360.0, 6360.0],
  [6335.0, 6335.0, 6352.5, 6352.5],
  [6375.0, 6375.0, 6385.0, 6385.0],
  [6343.75, 6343.75, 6380.0, 6380.0],
  [6395.0, 6395.0, 6405.0, 6405.0],
  [6415.0, 6415.0, 6425.0, 6425.0],
  [6400.0, 6400.0, 6420.0, 6420.0],
  [6445.0, 6445.0, 6455.0, 6455.0],
  [6435.0, 6435.0, 6450.0, 6450.0],
  [6465.0, 6465.0, 6475.0, 6475.0],
  [6442.5, 6442.5, 6470.0, 6470.0],
  [6410.0, 6410.0, 6456.25, 6456.25],
  [6361.875, 6361.875, 6433.125, 6433.125],
  [6495.0, 6495.0, 6505.0, 6505.0],
  [6485.0, 6485.0, 6500.0, 6500.0],
  [6515.0, 6515.0, 6525.0, 6525.0],
  [6492.5, 6492.5, 6520.0, 6520.0],
  [6535.0, 6535.0, 6545.0, 6545.0],
  [6555.0, 6555.0, 6565.0, 6565.0],
  [6575.0, 6575.0, 6585.0, 6585.0],
  [6560.0, 6560.0, 6580.0, 6580.0],
  [6540.0, 6540.0, 6570.0, 6570.0],
  [6506.25, 6506.25, 6555.0, 6555.0],
  [6397.5, 6397.5, 6530.625, 6530.625],
  [6595.0, 6595.0, 6605.0, 6605.0],
  [6615.0, 6615.0, 6625.0, 6625.0],
  [6635.0, 6635.0, 6645.0, 6645.0],
  [6620.0, 6620.0, 6640.0, 6640.0],
  [6600.0, 6600.0, 6630.0, 6630.0],
  [6665.0, 6665.0, 6675.0, 6675.0],
  [6655.0, 6655.0, 6670.0, 6670.0],
  [6685.0, 6685.0, 6695.0, 6695.0],
  [6715.0, 6715.0, 6725.0, 6725.0],
  [6705.0, 6705.0, 6720.0, 6720.0],
  [6690.0, 6690.0, 6712.5, 6712.5],
  [6745.0, 6745.0, 6755.0, 6755.0],
  [6735.0, 6735.0, 6750.0, 6750.0],
  [6701.25, 6701.25, 6742.5, 6742.5],
  [6662.5, 6662.5, 6721.875, 6721.875],
  [6615.0, 6615.0, 6692.1875, 6692.1875],
  [6464.0625, 6464.0625, 6653.59375, 6653.59375],
  [6206.328125, 6206.328125, 6558.828125, 6558.828125],
  [6775.0, 6775.0, 6785.0, 6785.0],
  [6765.0, 6765.0, 6780.0, 6780.0],
  [6795.0, 6795.0, 6805.0, 6805.0],
  [6825.0, 6825.0, 6835.0, 6835.0],
  [6815.0, 6815.0, 6830.0, 6830.0],
  [6855.0, 6855.0, 6865.0, 6865.0],
  [6845.0, 6845.0, 6860.0, 6860.0],
  [6822.5, 6822.5, 6852.5, 6852.5],
  [6800.0, 6800.0, 6837.5, 6837.5],
  [6772.5, 6772.5, 6818.75, 6818.75],
  [6885.0, 6885.0, 6895.0, 6895.0],
  [6875.0, 6875.0, 6890.0, 6890.0],
  [6905.0, 6905.0, 6915.0, 6915.0],
  [6955.0, 6955.0, 6965.0, 6965.0],
  [6945.0, 6945.0, 6960.0, 6960.0],
  [6935.0, 6935.0, 6952.5, 6952.5],
  [6925.0, 6925.0, 6943.75, 6943.75],
  [6910.0, 6910.0, 6934.375, 6934.375],
  [6995.0, 6995.0, 7005.0, 7005.0],
  [6985.0, 6985.0, 7000.0, 7000.0],
  [6975.0, 6975.0, 6992.5, 6992.5],
  [7025.0, 7025.0, 7035.0, 7035.0],
  [7015.0, 7015.0, 7030.0, 7030.0],
  [7045.0, 7045.0, 7055.0, 7055.0],
  [7022.5, 7022.5, 7050.0, 7050.0],
  [6983.75, 6983.75, 7036.25, 7036.25],
  [6922.1875, 6922.1875, 7010.0, 7010.0],
  [6882.5, 6882.5, 6966.09375, 6966.09375],
  [7065.0, 7065.0, 7075.0, 7075.0],
  [7095.0, 7095.0, 7105.0, 7105.0],
  [7115.0, 7115.0, 7125.0, 7125.0],
  [7100.0, 7100.0, 7120.0, 7120.0],
  [7085.0, 7085.0, 7110.0, 7110.0],
  [7070.0, 7070.0, 7097.5, 7097.5],
  [7145.0, 7145.0, 7155.0, 7155.0],
  [7135.0, 7135.0, 7150.0, 7150.0],
  [7185.0, 7185.0, 7195.0, 7195.0],
  [7175.0, 7175.0, 7190.0, 7190.0],
  [7165.0, 7165.0, 7182.5, 7182.5],
  [7142.5, 7142.5, 7173.75, 7173.75],
  [7083.75, 7083.75, 7158.125, 7158.125],
  [6924.296875, 6924.296875, 7120.9375, 7120.9375],
  [6795.625, 6795.625, 7022.6171875, 7022.6171875],
  [7205.0, 7205.0, 7215.0, 7215.0],
  [7225.0, 7225.0, 7235.0, 7235.0],
  [7210.0, 7210.0, 7230.0, 7230.0],
  [7255.0, 7255.0, 7265.0, 7265.0],
  [7245.0, 7245.0, 7260.0, 7260.0],
  [7275.0, 7275.0, 7285.0, 7285.0],
  [7252.5, 7252.5, 7280.0, 7280.0],
  [7220.0, 7220.0, 7266.25, 7266.25],
  [7295.0, 7295.0, 7305.0, 7305.0],
  [7315.0, 7315.0, 7325.0, 7325.0],
  [7300.0, 7300.0, 7320.0, 7320.0],
  [7335.0, 7335.0, 7345.0, 7345.0],
  [7355.0, 7355.0, 7365.0, 7365.0],
  [7375.0, 7375.0, 7385.0, 7385.0],
  [7360.0, 7360.0, 7380.0, 7380.0],
  [7340.0, 7340.0, 7370.0, 7370.0],
  [7310.0, 7310.0, 7355.0, 7355.0],
  [7243.125, 7243.125, 7332.5, 7332.5],
  [7395.0, 7395.0, 7405.0, 7405.0],
  [7425.0, 7425.0, 7435.0, 7435.0],
  [7415.0, 7415.0, 7430.0, 7430.0],
  [7400.0, 7400.0, 7422.5, 7422.5],
  [7445.0, 7445.0, 7455.0, 7455.0],
  [7475.0, 7475.0, 7485.0, 7485.0],
  [7465.0, 7465.0, 7480.0, 7480.0],
  [7450.0, 7450.0, 7472.5, 7472.5],
  [7515.0, 7515.0, 7525.0, 7525.0],
  [7505.0, 7505.0, 7520.0, 7520.0],
  [7495.0, 7495.0, 7512.5, 7512.5],
  [7461.25, 7461.25, 7503.75, 7503.75],
  [7411.25, 7411.25, 7482.5, 7482.5],
  [7287.8125, 7287.8125, 7446.875, 7446.875],
  [7555.0, 7555.0, 7565.0, 7565.0],
  [7545.0, 7545.0, 7560.0, 7560.0],
  [7575.0, 7575.0, 7585.0, 7585.0],
  [7552.5, 7552.5, 7580.0, 7580.0],
  [7535.0, 7535.0, 7566.25, 7566.25],
  [7605.0, 7605.0, 7615.0, 7615.0],
  [7595.0, 7595.0, 7610.0, 7610.0],
  [7625.0, 7625.0, 7635.0, 7635.0],
  [7655.0, 7655.0, 7665.0, 7665.0],
  [7645.0, 7645.0, 7660.0, 7660.0],
  [7630.0, 7630.0, 7652.5, 7652.5],
  [7602.5, 7602.5, 7641.25, 7641.25],
  [7550.625, 7550.625, 7621.875, 7621.875],
  [7675.0, 7675.0, 7685.0, 7685.0],
  [7705.0, 7705.0, 7715.0, 7715.0],
  [7695.0, 7695.0, 7710.0, 7710.0],
  [7725.0, 7725.0, 7735.0, 7735.0],
  [7702.5, 7702.5, 7730.0, 7730.0],
  [7680.0, 7680.0, 7716.25, 7716.25],
  [7745.0, 7745.0, 7755.0, 7755.0],
  [7775.0, 7775.0, 7785.0, 7785.0],
  [7765.0, 7765.0, 7780.0, 7780.0],
  [7750.0, 7750.0, 7772.5, 7772.5],
  [7698.125, 7698.125, 7761.25, 7761.25],
  [7815.0, 7815.0, 7825.0, 7825.0],
  [7805.0, 7805.0, 7820.0, 7820.0],
  [7795.0, 7795.0, 7812.5, 7812.5],
  [7729.6875, 7729.6875, 7803.75, 7803.75],
  [7845.0, 7845.0, 7855.0, 7855.0],
  [7835.0, 7835.0, 7850.0, 7850.0],
  [7875.0, 7875.0, 7885.0, 7885.0],
  [7865.0, 7865.0, 7880.0, 7880.0],
  [7895.0, 7895.0, 7905.0, 7905.0],
  [7915.0, 7915.0, 7925.0, 7925.0],
  [7900.0, 7900.0, 7920.0, 7920.0],
  [7872.5, 7872.5, 7910.0, 7910.0],
  [7842.5, 7842.5, 7891.25, 7891.25],
  [7955.0, 7955.0, 7965.0, 7965.0],
  [7945.0, 7945.0, 7960.0, 7960.0],
  [7935.0, 7935.0, 7952.5, 7952.5],
  [7866.875, 7866.875, 7943.75, 7943.75],
  [7766.71875, 7766.71875, 7905.3125, 7905.3125],
  [7586.25, 7586.25, 7836.015625, 7836.015625],
  [7975.0, 7975.0, 7985.0, 7985.0],
  [8005.0, 8005.0, 8015.0, 8015.0],
  [7995.0, 7995.0, 8010.0, 8010.0],
  [7980.0, 7980.0, 8002.5, 8002.5],
  [8025.0, 8025.0, 8035.0, 8035.0],
  [8055.0, 8055.0, 8065.0, 8065.0],
  [8045.0, 8045.0, 8060.0, 8060.0],
  [8030.0, 8030.0, 8052.5, 8052.5],
  [8085.0, 8085.0, 8095.0, 8095.0],
  [8075.0, 8075.0, 8090.0, 8090.0],
  [8105.0, 8105.0, 8115.0, 8115.0],
  [8082.5, 8082.5, 8110.0, 8110.0],
  [8041.25, 8041.25, 8096.25, 8096.25],
  [7991.25, 7991.25, 8068.75, 8068.75],
  [8125.0, 8125.0, 8135.0, 8135.0],
  [8145.0, 8145.0, 8155.0, 8155.0],
  [8165.0, 8165.0, 8175.0, 8175.0],
  [8150.0, 8150.0, 8170.0, 8170.0],
  [8130.0, 8130.0, 8160.0, 8160.0],
  [8195.0, 8195.0, 8205.0, 8205.0],
  [8215.0, 8215.0, 8225.0, 8225.0],
  [8200.0, 8200.0, 8220.0, 8220.0],
  [8185.0, 8185.0, 8210.0, 8210.0],
  [8145.0, 8145.0, 8197.5, 8197.5],
  [8245.0, 8245.0, 8255.0, 8255.0],
  [8235.0, 8235.0, 8250.0, 8250.0],
  [8265.0, 8265.0, 8275.0, 8275.0],
  [8285.0, 8285.0, 8295.0, 8295.0],
  [8270.0, 8270.0, 8290.0, 8290.0],
  [8242.5, 8242.5, 8280.0, 8280.0],
  [8171.25, 8171.25, 8261.25, 8261.25],
  [8305.0, 8305.0, 8315.0, 8315.0],
  [8325.0, 8325.0, 8335.0, 8335.0],
  [8310.0, 8310.0, 8330.0, 8330.0],
  [8345.0, 8345.0, 8355.0, 8355.0],
  [8375.0, 8375.0, 8385.0, 8385.0],
  [8365.0, 8365.0, 8380.0, 8380.0],
  [8395.0, 8395.0, 8405.0, 8405.0],
  [8372.5, 8372.5, 8400.0, 8400.0],
  [8350.0, 8350.0, 8386.25, 8386.25],
  [8425.0, 8425.0, 8435.0, 8435.0],
  [8445.0, 8445.0, 8455.0, 8455.0],
  [8430.0, 8430.0, 8450.0, 8450.0],
  [8415.0, 8415.0, 8440.0, 8440.0],
  [8368.125, 8368.125, 8427.5, 8427.5],
  [8320.0, 8320.0, 8397.8125, 8397.8125],
  [8216.25, 8216.25, 8358.90625, 8358.90625],
  [8465.0, 8465.0, 8475.0, 8475.0],
  [8495.0, 8495.0, 8505.0, 8505.0],
  [8485.0, 8485.0, 8500.0, 8500.0],
  [8470.0, 8470.0, 8492.5, 8492.5],
  [8515.0, 8515.0, 8525.0, 8525.0],
  [8545.0, 8545.0, 8555.0, 8555.0],
  [8535.0, 8535.0, 8550.0, 8550.0],
  [8520.0, 8520.0, 8542.5, 8542.5],
  [8565.0, 8565.0, 8575.0, 8575.0],
  [8585.0, 8585.0, 8595.0, 8595.0],
  [8570.0, 8570.0, 8590.0, 8590.0],
  [8531.25, 8531.25, 8580.0, 8580.0],
  [8481.25, 8481.25, 8555.625, 8555.625],
  [8605.0, 8605.0, 8615.0, 8615.0],
  [8625.0, 8625.0, 8635.0, 8635.0],
  [8645.0, 8645.0, 8655.0, 8655.0],
  [8630.0, 8630.0, 8650.0, 8650.0],
  [8610.0, 8610.0, 8640.0, 8640.0],
  [8665.0, 8665.0, 8675.0, 8675.0],
  [8705.0, 8705.0, 8715.0, 8715.0],
  [8695.0, 8695.0, 8710.0, 8710.0],
  [8685.0, 8685.0, 8702.5, 8702.5],
  [8725.0, 8725.0, 8735.0, 8735.0],
  [8693.75, 8693.75, 8730.0, 8730.0],
  [8670.0, 8670.0, 8711.875, 8711.875],
  [8625.0, 8625.0, 8690.9375, 8690.9375],
  [8765.0, 8765.0, 8775.0, 8775.0],
  [8755.0, 8755.0, 8770.0, 8770.0],
  [8795.0, 8795.0, 8805.0, 8805.0],
  [8785.0, 8785.0, 8800.0, 8800.0],
  [8762.5, 8762.5, 8792.5, 8792.5],
  [8745.0, 8745.0, 8777.5, 8777.5],
  [8657.96875, 8657.96875, 8761.25, 8761.25],
  [8518.4375, 8518.4375, 8709.609375, 8709.609375],
  [8287.578125, 8287.578125, 8614.0234375, 8614.0234375],
  [8030.0, 8030.0, 8450.80078125, 8450.80078125],
  [7711.1328125, 7711.1328125, 8240.400390625, 8240.400390625],
  [7367.34375, 7367.34375, 7975.7666015625, 7975.7666015625],
  [6909.12109375, 6909.12109375, 7671.55517578125, 7671.55517578125],
  [6382.578125, 6382.578125, 7290.338134765625, 7290.338134765625],
  [4828.197021484375,
   4828.197021484375,
   6836.4581298828125,
   6836.4581298828125],
  [8825.0, 8825.0, 8835.0, 8835.0],
  [8815.0, 8815.0, 8830.0, 8830.0],
  [8875.0, 8875.0, 8885.0, 8885.0],
  [8865.0, 8865.0, 8880.0, 8880.0],
  [8855.0, 8855.0, 8872.5, 8872.5],
  [8845.0, 8845.0, 8863.75, 8863.75],
  [8822.5, 8822.5, 8854.375, 8854.375],
  [8895.0, 8895.0, 8905.0, 8905.0],
  [8915.0, 8915.0, 8925.0, 8925.0],
  [8900.0, 8900.0, 8920.0, 8920.0],
  [8955.0, 8955.0, 8965.0, 8965.0],
  [8945.0, 8945.0, 8960.0, 8960.0],
  [8935.0, 8935.0, 8952.5, 8952.5],
  [8975.0, 8975.0, 8985.0, 8985.0],
  [8995.0, 8995.0, 9005.0, 9005.0],
  [8980.0, 8980.0, 9000.0, 9000.0],
  [8943.75, 8943.75, 8990.0, 8990.0],
  [9045.0, 9045.0, 9055.0, 9055.0],
  [9035.0, 9035.0, 9050.0, 9050.0],
  [9025.0, 9025.0, 9042.5, 9042.5],
  [9015.0, 9015.0, 9033.75, 9033.75],
  [8966.875, 8966.875, 9024.375, 9024.375],
  [8910.0, 8910.0, 8995.625, 8995.625],
  [8838.4375, 8838.4375, 8952.8125, 8952.8125],
  [9065.0, 9065.0, 9075.0, 9075.0],
  [9095.0, 9095.0, 9105.0, 9105.0],
  [9115.0, 9115.0, 9125.0, 9125.0],
  [9100.0, 9100.0, 9120.0, 9120.0],
  [9085.0, 9085.0, 9110.0, 9110.0],
  [9145.0, 9145.0, 9155.0, 9155.0],
  [9165.0, 9165.0, 9175.0, 9175.0],
  [9150.0, 9150.0, 9170.0, 9170.0],
  [9135.0, 9135.0, 9160.0, 9160.0],
  [9195.0, 9195.0, 9205.0, 9205.0],
  [9215.0, 9215.0, 9225.0, 9225.0],
  [9200.0, 9200.0, 9220.0, 9220.0],
  [9185.0, 9185.0, 9210.0, 9210.0],
  [9147.5, 9147.5, 9197.5, 9197.5],
  [9097.5, 9097.5, 9172.5, 9172.5],
  [9070.0, 9070.0, 9135.0, 9135.0],
  [9255.0, 9255.0, 9265.0, 9265.0],
  [9245.0, 9245.0, 9260.0, 9260.0],
  [9275.0, 9275.0, 9285.0, 9285.0],
  [9315.0, 9315.0, 9325.0, 9325.0],
  [9305.0, 9305.0, 9320.0, 9320.0],
  [9295.0, 9295.0, 9312.5, 9312.5],
  [9280.0, 9280.0, 9303.75, 9303.75],
  [9252.5, 9252.5, 9291.875, 9291.875],
  [9345.0, 9345.0, 9355.0, 9355.0],
  [9335.0, 9335.0, 9350.0, 9350.0],
  [9365.0, 9365.0, 9375.0, 9375.0],
  [9415.0, 9415.0, 9425.0, 9425.0],
  [9405.0, 9405.0, 9420.0, 9420.0],
  [9395.0, 9395.0, 9412.5, 9412.5],
  [9385.0, 9385.0, 9403.75, 9403.75],
  [9370.0, 9370.0, 9394.375, 9394.375],
  [9342.5, 9342.5, 9382.1875, 9382.1875],
  [9272.1875, 9272.1875, 9362.34375, 9362.34375],
  [9445.0, 9445.0, 9455.0, 9455.0],
  [9435.0, 9435.0, 9450.0, 9450.0],
  [9475.0, 9475.0, 9485.0, 9485.0],
  [9465.0, 9465.0, 9480.0, 9480.0],
  [9495.0, 9495.0, 9505.0, 9505.0],
  [9472.5, 9472.5, 9500.0, 9500.0],
  [9442.5, 9442.5, 9486.25, 9486.25],
  [9535.0, 9535.0, 9545.0, 9545.0],
  [9525.0, 9525.0, 9540.0, 9540.0],
  [9515.0, 9515.0, 9532.5, 9532.5],
  [9464.375, 9464.375, 9523.75, 9523.75],
  [9565.0, 9565.0, 9575.0, 9575.0],
  [9555.0, 9555.0, 9570.0, 9570.0],
  [9585.0, 9585.0, 9595.0, 9595.0],
  [9605.0, 9605.0, 9615.0, 9615.0],
  [9590.0, 9590.0, 9610.0, 9610.0],
  [9625.0, 9625.0, 9635.0, 9635.0],
  [9645.0, 9645.0, 9655.0, 9655.0],
  [9665.0, 9665.0, 9675.0, 9675.0],
  [9685.0, 9685.0, 9695.0, 9695.0],
  [9670.0, 9670.0, 9690.0, 9690.0],
  [9650.0, 9650.0, 9680.0, 9680.0],
  [9630.0, 9630.0, 9665.0, 9665.0],
  [9600.0, 9600.0, 9647.5, 9647.5],
  [9562.5, 9562.5, 9623.75, 9623.75],
  [9715.0, 9715.0, 9725.0, 9725.0],
  [9705.0, 9705.0, 9720.0, 9720.0],
  [9745.0, 9745.0, 9755.0, 9755.0],
  [9735.0, 9735.0, 9750.0, 9750.0],
  [9712.5, 9712.5, 9742.5, 9742.5],
  [9593.125, 9593.125, 9727.5, 9727.5],
  [9494.0625, 9494.0625, 9660.3125, 9660.3125],
  [9317.265625, 9317.265625, 9577.1875, 9577.1875],
  [9235.0, 9235.0, 9447.2265625, 9447.2265625],
  [9102.5, 9102.5, 9341.11328125, 9341.11328125],
  [9785.0, 9785.0, 9795.0, 9795.0],
  [9775.0, 9775.0, 9790.0, 9790.0],
  [9765.0, 9765.0, 9782.5, 9782.5],
  [9805.0, 9805.0, 9815.0, 9815.0],
  [9825.0, 9825.0, 9835.0, 9835.0],
  [9855.0, 9855.0, 9865.0, 9865.0],
  [9845.0, 9845.0, 9860.0, 9860.0],
  [9830.0, 9830.0, 9852.5, 9852.5],
  [9810.0, 9810.0, 9841.25, 9841.25],
  [9773.75, 9773.75, 9825.625, 9825.625],
  [9905.0, 9905.0, 9915.0, 9915.0],
  [9895.0, 9895.0, 9910.0, 9910.0],
  [9885.0, 9885.0, 9902.5, 9902.5],
  [9875.0, 9875.0, 9893.75, 9893.75],
  [9935.0, 9935.0, 9945.0, 9945.0],
  [9955.0, 9955.0, 9965.0, 9965.0],
  [9940.0, 9940.0, 9960.0, 9960.0],
  [9925.0, 9925.0, 9950.0, 9950.0],
  [9884.375, 9884.375, 9937.5, 9937.5],
  [9975.0, 9975.0, 9985.0, 9985.0],
  [9995.0, 9995.0, 10005.0, 10005.0],
  [10015.0, 10015.0, 10025.0, 10025.0],
  [10000.0, 10000.0, 10020.0, 10020.0],
  [10055.0, 10055.0, 10065.0, 10065.0],
  [10045.0, 10045.0, 10060.0, 10060.0],
  [10035.0, 10035.0, 10052.5, 10052.5],
  [10085.0, 10085.0, 10095.0, 10095.0],
  [10075.0, 10075.0, 10090.0, 10090.0],
  ...],
 'dcoord': [[0.0, 0.9268906323495227, 0.9268906323495227, 0.0],
  [0.0, 1.8780719319227546, 1.8780719319227546, 0.9268906323495227],
  [0.0, 0.9025944083788204, 0.9025944083788204, 0.0],
  [0.0, 1.3214346517906197, 1.3214346517906197, 0.9025944083788204],
  [0.0, 0.5537082854643887, 0.5537082854643887, 0.0],
  [0.0, 0.9319265376379556, 0.9319265376379556, 0.5537082854643887],
  [0.0, 0.7338775045102699, 0.7338775045102699, 0.0],
  [0.0, 0.5291666584368779, 0.5291666584368779, 0.0],
  [0.0, 0.7601689467924879, 0.7601689467924879, 0.5291666584368779],
  [0.7338775045102699,
   1.1694107199277086,
   1.1694107199277086,
   0.7601689467924879],
  [0.9319265376379556,
   2.031348615194031,
   2.031348615194031,
   1.1694107199277086],
  [1.3214346517906197,
   2.7186643023486035,
   2.7186643023486035,
   2.031348615194031],
  [1.8780719319227546,
   4.0608117839455256,
   4.0608117839455256,
   2.7186643023486035],
  [0.0, 0.49213288646559017, 0.49213288646559017, 0.0],
  [0.0, 0.6007593437213261, 0.6007593437213261, 0.0],
  [0.49213288646559017,
   0.6656860473787917,
   0.6656860473787917,
   0.6007593437213261],
  [0.0, 0.8610735891729082, 0.8610735891729082, 0.6656860473787917],
  [0.0, 0.6518667116750556, 0.6518667116750556, 0.0],
  [0.0, 0.966879766871453, 0.966879766871453, 0.6518667116750556],
  [0.0, 1.6001118155421452, 1.6001118155421452, 0.966879766871453],
  [0.0, 2.123331014803981, 2.123331014803981, 1.6001118155421452],
  [0.8610735891729082,
   2.601886942670339,
   2.601886942670339,
   2.123331014803981],
  [0.0, 0.8352138761590358, 0.8352138761590358, 0.0],
  [0.0, 1.1629971268974317, 1.1629971268974317, 0.0],
  [0.8352138761590358,
   1.6638959187530729,
   1.6638959187530729,
   1.1629971268974317],
  [0.0, 0.7608480221010537, 0.7608480221010537, 0.0],
  [0.0, 1.214399211668735, 1.214399211668735, 0.7608480221010537],
  [0.0, 0.5486336848714825, 0.5486336848714825, 0.0],
  [0.0, 0.5766591675591554, 0.5766591675591554, 0.0],
  [0.0, 0.9041708626890925, 0.9041708626890925, 0.5766591675591554],
  [0.5486336848714825,
   1.0439345473032096,
   1.0439345473032096,
   0.9041708626890925],
  [0.0, 2.1241539300008028, 2.1241539300008028, 1.0439345473032096],
  [1.214399211668735,
   2.387971691552071,
   2.387971691552071,
   2.1241539300008028],
  [1.6638959187530729,
   3.7803718906489703,
   3.7803718906489703,
   2.387971691552071],
  [2.601886942670339,
   4.928536054046801,
   4.928536054046801,
   3.7803718906489703],
  [4.0608117839455256,
   5.954382157707853,
   5.954382157707853,
   4.928536054046801],
  [0.0, 0.4966824048795344, 0.4966824048795344, 0.0],
  [0.0, 0.7119547349394569, 0.7119547349394569, 0.4966824048795344],
  [0.0, 0.7128653806783084, 0.7128653806783084, 0.0],
  [0.7119547349394569,
   1.0930315722177406,
   1.0930315722177406,
   0.7128653806783084],
  [0.0, 1.5349949355160655, 1.5349949355160655, 1.0930315722177406],
  [0.0, 0.6517834847477887, 0.6517834847477887, 0.0],
  [0.0, 0.6943478434766273, 0.6943478434766273, 0.0],
  [0.6517834847477887,
   0.9587891297181772,
   0.9587891297181772,
   0.6943478434766273],
  [0.0, 0.4405117456989043, 0.4405117456989043, 0.0],
  [0.0, 0.48181934540136334, 0.48181934540136334, 0.0],
  [0.0, 0.6856431552619136, 0.6856431552619136, 0.48181934540136334],
  [0.4405117456989043,
   0.8755681834999598,
   0.8755681834999598,
   0.6856431552619136],
  [0.0, 0.9983429046634738, 0.9983429046634738, 0.8755681834999598],
  [0.0, 1.094311973690189, 1.094311973690189, 0.9983429046634738],
  [0.9587891297181772,
   1.793256669600697,
   1.793256669600697,
   1.094311973690189],
  [1.5349949355160655,
   3.0997436791060964,
   3.0997436791060964,
   1.793256669600697],
  [0.0, 0.5705102399369507, 0.5705102399369507, 0.0],
  [0.0, 1.0456431983369847, 1.0456431983369847, 0.5705102399369507],
  [0.0, 0.6758698633574259, 0.6758698633574259, 0.0],
  [0.0, 1.3062105823005172, 1.3062105823005172, 0.6758698633574259],
  [1.0456431983369847,
   1.591585787665559,
   1.591585787665559,
   1.3062105823005172],
  [0.0, 0.8504033592111195, 0.8504033592111195, 0.0],
  [0.0, 1.1065016335625373, 1.1065016335625373, 0.8504033592111195],
  [0.0, 1.2907461295474996, 1.2907461295474996, 1.1065016335625373],
  [0.0, 0.45521778312674793, 0.45521778312674793, 0.0],
  [0.0, 0.4946804868695872, 0.4946804868695872, 0.0],
  [0.45521778312674793,
   1.2516353936544458,
   1.2516353936544458,
   0.4946804868695872],
  [0.0, 2.2389552859189306, 2.2389552859189306, 1.2516353936544458],
  [1.2907461295474996,
   2.614151445997096,
   2.614151445997096,
   2.2389552859189306],
  [1.591585787665559, 3.699133029774912, 3.699133029774912, 2.614151445997096],
  [3.0997436791060964,
   3.992156210796169,
   3.992156210796169,
   3.699133029774912],
  [0.0, 0.6622447719541115, 0.6622447719541115, 0.0],
  [0.0, 0.8016623002610209, 0.8016623002610209, 0.6622447719541115],
  [0.0, 0.7272267441398015, 0.7272267441398015, 0.0],
  [0.0, 1.0388109027230403, 1.0388109027230403, 0.7272267441398015],
  [0.8016623002610209, 1.60053957446204, 1.60053957446204, 1.0388109027230403],
  [0.0, 0.6238106664608246, 0.6238106664608246, 0.0],
  [0.0, 0.6843686903618214, 0.6843686903618214, 0.0],
  [0.0, 0.9863217924609711, 0.9863217924609711, 0.6843686903618214],
  [0.6238106664608246,
   1.107371575897479,
   1.107371575897479,
   0.9863217924609711],
  [0.0, 0.6077925364814166, 0.6077925364814166, 0.0],
  [0.0, 0.8329066212086814, 0.8329066212086814, 0.6077925364814166],
  [0.0, 0.9531173362393464, 0.9531173362393464, 0.8329066212086814],
  [0.0, 1.1527298734120779, 1.1527298734120779, 0.9531173362393464],
  [1.107371575897479,
   2.476773219159154,
   2.476773219159154,
   1.1527298734120779],
  [1.60053957446204,
   2.5611149675731966,
   2.5611149675731966,
   2.476773219159154],
  [0.0, 0.48003814893367874, 0.48003814893367874, 0.0],
  [0.0, 0.34661289526376565, 0.34661289526376565, 0.0],
  [0.0, 0.3536560780622293, 0.3536560780622293, 0.0],
  [0.34661289526376565,
   0.6713164515125889,
   0.6713164515125889,
   0.3536560780622293],
  [0.48003814893367874,
   1.008673977079323,
   1.008673977079323,
   0.6713164515125889],
  [0.0, 0.20406199726342306, 0.20406199726342306, 0.0],
  [0.0, 0.4287584137263929, 0.4287584137263929, 0.20406199726342306],
  [0.0, 0.5372049318965514, 0.5372049318965514, 0.4287584137263929],
  [0.0, 0.702583298803785, 0.702583298803785, 0.5372049318965514],
  [0.0, 0.5140839254476292, 0.5140839254476292, 0.0],
  [0.0, 0.621924171268388, 0.621924171268388, 0.5140839254476292],
  [0.0, 0.24080577226578032, 0.24080577226578032, 0.0],
  [0.0, 0.5996580734694751, 0.5996580734694751, 0.24080577226578032],
  [0.0, 0.6440625224411419, 0.6440625224411419, 0.0],
  [0.5996580734694751,
   0.8429922984037385,
   0.8429922984037385,
   0.6440625224411419],
  [0.621924171268388,
   1.0536429680184012,
   1.0536429680184012,
   0.8429922984037385],
  [0.702583298803785,
   1.6507326402156084,
   1.6507326402156084,
   1.0536429680184012],
  [1.008673977079323,
   1.797123231095174,
   1.797123231095174,
   1.6507326402156084],
  [0.0, 0.5527709228744823, 0.5527709228744823, 0.0],
  [0.0, 0.39602575755873687, 0.39602575755873687, 0.0],
  [0.0, 0.5789811301162794, 0.5789811301162794, 0.0],
  [0.39602575755873687,
   0.7729623894527023,
   0.7729623894527023,
   0.5789811301162794],
  [0.5527709228744823,
   0.8768652111449368,
   0.8768652111449368,
   0.7729623894527023],
  [0.0, 0.7513554597750884, 0.7513554597750884, 0.0],
  [0.0, 0.3894489956503729, 0.3894489956503729, 0.0],
  [0.0, 0.40805170620708847, 0.40805170620708847, 0.0],
  [0.3894489956503729,
   0.5858457932181803,
   0.5858457932181803,
   0.40805170620708847],
  [0.0, 0.5028359838611031, 0.5028359838611031, 0.0],
  [0.0, 0.6633280674300729, 0.6633280674300729, 0.0],
  [0.5028359838611031,
   0.9537337796863764,
   0.9537337796863764,
   0.6633280674300729],
  [0.5858457932181803,
   1.278924146836488,
   1.278924146836488,
   0.9537337796863764],
  [0.7513554597750884,
   1.5277640721809331,
   1.5277640721809331,
   1.278924146836488],
  [0.8768652111449368,
   2.0710904631171436,
   2.0710904631171436,
   1.5277640721809331],
  [1.797123231095174, 3.90218298572546, 3.90218298572546, 2.0710904631171436],
  [2.5611149675731966, 5.542599364524826, 5.542599364524826, 3.90218298572546],
  [3.992156210796169, 6.724653703817875, 6.724653703817875, 5.542599364524826],
  [0.0, 0.7275783071596147, 0.7275783071596147, 0.0],
  [0.0, 0.5496739040542945, 0.5496739040542945, 0.0],
  [0.0, 0.7723173185759699, 0.7723173185759699, 0.5496739040542945],
  [0.7275783071596147,
   1.3418350479551073,
   1.3418350479551073,
   0.7723173185759699],
  [0.0, 0.6359615554445768, 0.6359615554445768, 0.0],
  [0.0, 0.5645928546968766, 0.5645928546968766, 0.0],
  [0.0, 0.2990062651346749, 0.2990062651346749, 0.0],
  [0.0, 0.6226020164753905, 0.6226020164753905, 0.2990062651346749],
  [0.0, 0.8739138716044108, 0.8739138716044108, 0.6226020164753905],
  [0.5645928546968766,
   1.0426888795997478,
   1.0426888795997478,
   0.8739138716044108],
  [0.6359615554445768,
   1.2206225506677422,
   1.2206225506677422,
   1.0426888795997478],
  [0.0, 0.36174521420001954, 0.36174521420001954, 0.0],
  [0.0, 0.7586342599882798, 0.7586342599882798, 0.0],
  [0.36174521420001954,
   1.1733101632394467,
   1.1733101632394467,
   0.7586342599882798],
  [0.0, 1.3181339896708892, 1.3181339896708892, 1.1733101632394467],
  [1.2206225506677422,
   1.7742417628128213,
   1.7742417628128213,
   1.3181339896708892],
  [1.3418350479551073,
   2.535836008229562,
   2.535836008229562,
   1.7742417628128213],
  [0.0, 0.5102432937891787, 0.5102432937891787, 0.0],
  [0.0, 0.35482157044646273, 0.35482157044646273, 0.0],
  [0.0, 0.592852534930658, 0.592852534930658, 0.35482157044646273],
  [0.5102432937891787,
   1.2954323204039326,
   1.2954323204039326,
   0.592852534930658],
  [0.0, 0.38579692238632246, 0.38579692238632246, 0.0],
  [0.0, 0.5273942049625091, 0.5273942049625091, 0.0],
  [0.38579692238632246,
   0.8530672735001114,
   0.8530672735001114,
   0.5273942049625091],
  [0.0, 0.9637799292555385, 0.9637799292555385, 0.8530672735001114],
  [0.0, 0.7351311803880166, 0.7351311803880166, 0.0],
  [0.0, 0.5508213737835218, 0.5508213737835218, 0.0],
  [0.0, 0.2499993627649217, 0.2499993627649217, 0.0],
  [0.0, 0.3775096575171056, 0.3775096575171056, 0.2499993627649217],
  [0.0, 0.7039229921419853, 0.7039229921419853, 0.3775096575171056],
  [0.5508213737835218,
   0.8971238143618463,
   0.8971238143618463,
   0.7039229921419853],
  [0.7351311803880166,
   1.4743395281235265,
   1.4743395281235265,
   0.8971238143618463],
  [0.9637799292555385,
   1.6280857206846433,
   1.6280857206846433,
   1.4743395281235265],
  [1.2954323204039326,
   2.0271375348472986,
   2.0271375348472986,
   1.6280857206846433],
  [0.0, 0.6388226632457515, 0.6388226632457515, 0.0],
  [0.0, 0.7126612703531844, 0.7126612703531844, 0.0],
  [0.0, 0.31696263163565935, 0.31696263163565935, 0.0],
  [0.0, 0.64117768832028, 0.64117768832028, 0.31696263163565935],
  [0.0, 0.7998088275171877, 0.7998088275171877, 0.0],
  [0.64117768832028,
   1.0185027026346396,
   1.0185027026346396,
   0.7998088275171877],
  [0.7126612703531844,
   1.744974286676203,
   1.744974286676203,
   1.0185027026346396],
  [0.6388226632457515,
   2.0179263660114346,
   2.0179263660114346,
   1.744974286676203],
  [0.0, 0.8456362522793179, 0.8456362522793179, 0.0],
  [0.0, 0.5984841893689019, 0.5984841893689019, 0.0],
  [0.0, 0.6554489695273261, 0.6554489695273261, 0.0],
  [0.0, 0.5199993932628815, 0.5199993932628815, 0.0],
  [0.0, 0.7074486276317533, 0.7074486276317533, 0.0],
  [0.5199993932628815,
   1.052317717175424,
   1.052317717175424,
   0.7074486276317533],
  [0.6554489695273261,
   1.091736172352448,
   1.091736172352448,
   1.052317717175424],
  [0.5984841893689019,
   1.469624933217296,
   1.469624933217296,
   1.091736172352448],
  [0.8456362522793179,
   2.3810549424878866,
   2.3810549424878866,
   1.469624933217296],
  [2.0179263660114346,
   2.945723892280936,
   2.945723892280936,
   2.3810549424878866],
  [2.0271375348472986,
   4.3870958904385775,
   4.3870958904385775,
   2.945723892280936],
  [2.535836008229562,
   8.824660071806273,
   8.824660071806273,
   4.3870958904385775],
  [6.724653703817875, 9.310155292063149, 9.310155292063149, 8.824660071806273],
  [5.954382157707853,
   17.090265653583952,
   17.090265653583952,
   9.310155292063149],
  [0.0, 0.8603837270112292, 0.8603837270112292, 0.0],
  [0.0, 0.9721474619622361, 0.9721474619622361, 0.8603837270112292],
  [0.0, 0.6992512229171219, 0.6992512229171219, 0.0],
  [0.0, 1.33279708004297, 1.33279708004297, 0.6992512229171219],
  [0.9721474619622361, 2.147188226542131, 2.147188226542131, 1.33279708004297],
  [0.0, 0.9441249629299229, 0.9441249629299229, 0.0],
  [0.0, 1.114658535261951, 1.114658535261951, 0.9441249629299229],
  [0.0, 0.3757429436090849, 0.3757429436090849, 0.0],
  [0.0, 0.757132075077672, 0.757132075077672, 0.3757429436090849],
  [0.0, 0.7798345341732413, 0.7798345341732413, 0.0],
  [0.757132075077672,
   1.7323827378815626,
   1.7323827378815626,
   0.7798345341732413],
  [1.114658535261951,
   2.2457913148467012,
   2.2457913148467012,
   1.7323827378815626],
  [2.147188226542131,
   2.9045932423216585,
   2.9045932423216585,
   2.2457913148467012],
  [0.0, 0.660375851223677, 0.660375851223677, 0.0],
  [0.0, 1.664668582506431, 1.664668582506431, 0.660375851223677],
  [0.0, 1.0517010877238824, 1.0517010877238824, 0.0],
  [0.0, 0.6635644395472483, 0.6635644395472483, 0.0],
  [0.0, 1.2302305097409665, 1.2302305097409665, 0.6635644395472483],
  [1.0517010877238824,
   1.8902626288608004,
   1.8902626288608004,
   1.2302305097409665],
  [1.664668582506431,
   2.2861814243562644,
   2.2861814243562644,
   1.8902626288608004],
  [0.0, 1.0659903600479885, 1.0659903600479885, 0.0],
  [0.0, 0.5334672179373963, 0.5334672179373963, 0.0],
  [0.0, 1.130450190751368, 1.130450190751368, 0.5334672179373963],
  [0.0, 1.4078074594878411, 1.4078074594878411, 1.130450190751368],
  [1.0659903600479885,
   1.9969280519029247,
   1.9969280519029247,
   1.4078074594878411],
  [0.0, 0.8012412148938106, 0.8012412148938106, 0.0],
  [0.0, 1.010817674423647, 1.010817674423647, 0.0],
  [0.0, 1.131582852994861, 1.131582852994861, 1.010817674423647],
  [0.8012412148938106,
   1.5027247799300123,
   1.5027247799300123,
   1.131582852994861],
  [0.0, 0.7448207199442465, 0.7448207199442465, 0.0],
  [0.0, 1.0457861120261818, 1.0457861120261818, 0.0],
  [0.7448207199442465,
   1.9133835274684408,
   1.9133835274684408,
   1.0457861120261818],
  [1.5027247799300123,
   2.316405886753831,
   2.316405886753831,
   1.9133835274684408],
  [1.9969280519029247,
   3.3921615039266673,
   3.3921615039266673,
   2.316405886753831],
  [2.2861814243562644,
   4.688674216875585,
   4.688674216875585,
   3.3921615039266673],
  [2.9045932423216585,
   6.146215136095609,
   6.146215136095609,
   4.688674216875585],
  [0.0, 1.9175407364071486, 1.9175407364071486, 0.0],
  [0.0, 1.198532938145141, 1.198532938145141, 0.0],
  [0.0, 1.3697917170743446, 1.3697917170743446, 1.198532938145141],
  [0.0, 0.8769436565086485, 0.8769436565086485, 0.0],
  [0.0, 1.2505240791443026, 1.2505240791443026, 0.8769436565086485],
  [0.0, 1.865649178765391, 1.865649178765391, 1.2505240791443026],
  [1.3697917170743446,
   2.194748145277816,
   2.194748145277816,
   1.865649178765391],
  [1.9175407364071486,
   3.3737941944505367,
   3.3737941944505367,
   2.194748145277816],
  [0.0, 0.9707561499597077, 0.9707561499597077, 0.0],
  [0.0, 1.3829895202593414, 1.3829895202593414, 0.9707561499597077],
  [0.0, 1.4648279075806658, 1.4648279075806658, 1.3829895202593414],
  [0.0, 0.2596641103957429, 0.2596641103957429, 0.0],
  [0.0, 0.5529568122177386, 0.5529568122177386, 0.2596641103957429],
  [0.0, 1.3793624761348917, 1.3793624761348917, 0.5529568122177386],
  [0.0, 1.8939889220122554, 1.8939889220122554, 1.3793624761348917],
  [1.4648279075806658,
   2.6100066474266814,
   2.6100066474266814,
   1.8939889220122554],
  [0.0, 3.566154570320295, 3.566154570320295, 2.6100066474266814],
  [3.3737941944505367,
   6.309763461061335,
   6.309763461061335,
   3.566154570320295],
  [6.146215136095609, 8.77816962470977, 8.77816962470977, 6.309763461061335],
  [0.0, 1.1022130050588768, 1.1022130050588768, 0.0],
  [0.0, 1.9780846458513115, 1.9780846458513115, 1.1022130050588768],
  [0.0, 2.5259548797472116, 2.5259548797472116, 1.9780846458513115],
  [0.0, 1.6463863623429775, 1.6463863623429775, 0.0],
  [0.0, 1.0548650215191626, 1.0548650215191626, 0.0],
  [0.0, 1.6677928862958353, 1.6677928862958353, 1.0548650215191626],
  [1.6463863623429775,
   2.9523721404624244,
   2.9523721404624244,
   1.6677928862958353],
  [2.5259548797472116,
   4.220628923807917,
   4.220628923807917,
   2.9523721404624244],
  [0.0, 1.2021370207291413, 1.2021370207291413, 0.0],
  [0.0, 2.727556192448363, 2.727556192448363, 1.2021370207291413],
  [0.0, 0.8485554956487583, 0.8485554956487583, 0.0],
  [0.0, 1.215196300063481, 1.215196300063481, 0.0],
  [0.8485554956487583,
   1.8085632684670883,
   1.8085632684670883,
   1.215196300063481],
  [0.0, 1.1771817514459728, 1.1771817514459728, 0.0],
  [0.0, 1.2752817633332865, 1.2752817633332865, 0.0],
  [1.1771817514459728,
   2.0550892292539875,
   2.0550892292539875,
   1.2752817633332865],
  [1.8085632684670883,
   2.7462710367832153,
   2.7462710367832153,
   2.0550892292539875],
  [2.727556192448363,
   4.840972124772787,
   4.840972124772787,
   2.7462710367832153],
  [4.220628923807917, 7.66460707359475, 7.66460707359475, 4.840972124772787],
  [0.0, 0.39099458062259834, 0.39099458062259834, 0.0],
  [0.0, 0.35379657900877726, 0.35379657900877726, 0.0],
  [0.0, 0.6305808101355534, 0.6305808101355534, 0.35379657900877726],
  [0.39099458062259834,
   0.7775656852724425,
   0.7775656852724425,
   0.6305808101355534],
  [0.0, 0.5169532522279705, 0.5169532522279705, 0.0],
  [0.0, 0.4119117901963971, 0.4119117901963971, 0.0],
  [0.0, 0.45028167741171365, 0.45028167741171365, 0.4119117901963971],
  [0.0, 0.681130136719619, 0.681130136719619, 0.45028167741171365],
  [0.5169532522279705,
   0.9682955400313944,
   0.9682955400313944,
   0.681130136719619],
  [0.7775656852724425,
   1.2679930863200664,
   1.2679930863200664,
   0.9682955400313944],
  [0.0, 0.33178703648250785, 0.33178703648250785, 0.0],
  [0.0, 0.48029003980106877, 0.48029003980106877, 0.33178703648250785],
  [0.0, 0.5151523744319011, 0.5151523744319011, 0.0],
  [0.0, 0.5310868111659167, 0.5310868111659167, 0.0],
  [0.5151523744319011,
   0.698252789888511,
   0.698252789888511,
   0.5310868111659167],
  [0.48029003980106877,
   0.822982647433326,
   0.822982647433326,
   0.698252789888511],
  [0.0, 0.3196679115928334, 0.3196679115928334, 0.0],
  [0.0, 0.38958064385280394, 0.38958064385280394, 0.3196679115928334],
  [0.0, 0.6413461071495913, 0.6413461071495913, 0.38958064385280394],
  [0.0, 0.8833091544203618, 0.8833091544203618, 0.6413461071495913],
  [0.822982647433326,
   1.523966267715478,
   1.523966267715478,
   0.8833091544203618],
  [1.2679930863200664,
   2.1014495295518714,
   2.1014495295518714,
   1.523966267715478],
  [0.0, 3.071748390675888, 3.071748390675888, 2.1014495295518714],
  [0.0, 0.8649134226745561, 0.8649134226745561, 0.0],
  [0.0, 0.4480103508401938, 0.4480103508401938, 0.0],
  [0.0, 0.6746813892065241, 0.6746813892065241, 0.4480103508401938],
  [0.0, 0.3303107003158306, 0.3303107003158306, 0.0],
  [0.0, 0.40968268711966693, 0.40968268711966693, 0.3303107003158306],
  [0.0, 0.5687601358574841, 0.5687601358574841, 0.40968268711966693],
  [0.0, 0.2630650142947445, 0.2630650142947445, 0.0],
  [0.0, 0.38059417493753844, 0.38059417493753844, 0.2630650142947445],
  [0.0, 0.47107066307095835, 0.47107066307095835, 0.0],
  [0.38059417493753844,
   0.6418798586988478,
   0.6418798586988478,
   0.47107066307095835],
  [0.5687601358574841,
   1.1774709104223513,
   1.1774709104223513,
   0.6418798586988478],
  [0.6746813892065241,
   1.6957068940636122,
   1.6957068940636122,
   1.1774709104223513],
  [0.8649134226745561,
   2.0380552295358125,
   2.0380552295358125,
   1.6957068940636122],
  [0.0, 0.608435727376147, 0.608435727376147, 0.0],
  [0.0, 0.36650201455744214, 0.36650201455744214, 0.0],
  [0.0, 0.4254235606909747, 0.4254235606909747, 0.36650201455744214],
  [0.0, 0.5344947143672795, 0.5344947143672795, 0.0],
  [0.4254235606909747,
   0.7878568427019652,
   0.7878568427019652,
   0.5344947143672795],
  [0.0, 0.9230667702817894, 0.9230667702817894, 0.7878568427019652],
  [0.608435727376147,
   1.2634006474742308,
   1.2634006474742308,
   0.9230667702817894],
  [0.0, 0.6770972609391543, 0.6770972609391543, 0.0],
  [0.0, 0.33074590881835786, 0.33074590881835786, 0.0],
  [0.0, 0.6433143326030247, 0.6433143326030247, 0.33074590881835786],
  [0.0, 0.7779318172538459, 0.7779318172538459, 0.6433143326030247],
  [0.6770972609391543,
   1.4150617892968047,
   1.4150617892968047,
   0.7779318172538459],
  [1.2634006474742308,
   1.6254621472686057,
   1.6254621472686057,
   1.4150617892968047],
  [0.0, 0.8018408112485909, 0.8018408112485909, 0.0],
  [0.0, 0.2572235092382776, 0.2572235092382776, 0.0],
  [0.0, 0.8243353034294808, 0.8243353034294808, 0.2572235092382776],
  [0.8018408112485909,
   1.725929564084314,
   1.725929564084314,
   0.8243353034294808],
  [0.0, 0.471628991932737, 0.471628991932737, 0.0],
  [0.0, 0.653586424588598, 0.653586424588598, 0.471628991932737],
  [0.0, 0.262093778619973, 0.262093778619973, 0.0],
  [0.0, 0.3068632825533148, 0.3068632825533148, 0.262093778619973],
  [0.0, 0.5505668043853147, 0.5505668043853147, 0.3068632825533148],
  [0.0, 0.7493621131280123, 0.7493621131280123, 0.5505668043853147],
  [0.653586424588598,
   1.0474708192655051,
   1.0474708192655051,
   0.7493621131280123],
  [0.0, 0.4651266433295629, 0.4651266433295629, 0.0],
  [0.0, 1.211581774753621, 1.211581774753621, 0.4651266433295629],
  [1.0474708192655051,
   1.869178705846865,
   1.869178705846865,
   1.211581774753621],
  [1.725929564084314, 2.27954572245459, 2.27954572245459, 1.869178705846865],
  [1.6254621472686057, 4.307855775810787, 4.307855775810787, 2.27954572245459],
  [2.0380552295358125,
   4.827353623030718,
   4.827353623030718,
   4.307855775810787],
  [3.071748390675888, 5.811983594150478, 5.811983594150478, 4.827353623030718],
  [0.0, 0.4417699072834857, 0.4417699072834857, 0.0],
  [0.0, 0.7933117498212245, 0.7933117498212245, 0.4417699072834857],
  [0.0, 0.5692849711383806, 0.5692849711383806, 0.0],
  [0.0, 0.8585146644061616, 0.8585146644061616, 0.5692849711383806],
  [0.7933117498212245,
   1.163982500480695,
   1.163982500480695,
   0.8585146644061616],
  [0.0, 0.39873026064109784, 0.39873026064109784, 0.0],
  [0.0, 0.41376821175533723, 0.41376821175533723, 0.0],
  [0.39873026064109784,
   0.7686473874208244,
   0.7686473874208244,
   0.41376821175533723],
  [0.0, 0.381676384813185, 0.381676384813185, 0.0],
  [0.0, 0.47684122268988055, 0.47684122268988055, 0.0],
  [0.381676384813185,
   0.5779127932966903,
   0.5779127932966903,
   0.47684122268988055],
  [0.0, 0.40568825409977927, 0.40568825409977927, 0.0],
  [0.0, 0.5478103503034695, 0.5478103503034695, 0.40568825409977927],
  [0.0, 0.836938848323808, 0.836938848323808, 0.5478103503034695],
  [0.5779127932966903,
   1.110575509122298,
   1.110575509122298,
   0.836938848323808],
  [0.7686473874208244,
   1.4489600627288448,
   1.4489600627288448,
   1.110575509122298],
  [1.163982500480695,
   1.7471396128336392,
   1.7471396128336392,
   1.4489600627288448],
  [0.0, 0.6511821168366979, 0.6511821168366979, 0.0],
  [0.0, 0.7553826692055785, 0.7553826692055785, 0.6511821168366979],
  [0.0, 1.170798539260217, 1.170798539260217, 0.7553826692055785],
  [0.0, 1.273839238087283, 1.273839238087283, 1.170798539260217],
  [0.0, 0.45817070742759014, 0.45817070742759014, 0.0],
  [0.0, 0.5928757527699212, 0.5928757527699212, 0.45817070742759014],
  [0.0, 0.7395550330471772, 0.7395550330471772, 0.5928757527699212],
  [0.0, 0.2582297210578591, 0.2582297210578591, 0.0],
  [0.0, 0.5120261680506213, 0.5120261680506213, 0.2582297210578591],
  [0.0, 0.39328232619200465, 0.39328232619200465, 0.0],
  [0.0, 0.39386302002592255, 0.39386302002592255, 0.0],
  [0.0, 0.4806988887476381, 0.4806988887476381, 0.39386302002592255],
  [0.39328232619200465,
   0.9192454242112862,
   0.9192454242112862,
   0.4806988887476381],
  [0.5120261680506213,
   0.9554376597237523,
   0.9554376597237523,
   0.9192454242112862],
  [0.7395550330471772,
   1.640063477048029,
   1.640063477048029,
   0.9554376597237523],
  [1.273839238087283, 2.037295564080645, 2.037295564080645, 1.640063477048029],
  [0.0, 0.47242078924451314, 0.47242078924451314, 0.0],
  [0.0, 1.078718789729105, 1.078718789729105, 0.47242078924451314],
  [0.0, 0.33293659499463274, 0.33293659499463274, 0.0],
  [0.0, 0.6466199592487305, 0.6466199592487305, 0.0],
  [0.33293659499463274,
   1.1273334872290703,
   1.1273334872290703,
   0.6466199592487305],
  [0.0, 1.8128695475934251, 1.8128695475934251, 1.1273334872290703],
  [1.078718789729105,
   2.544852050635853,
   2.544852050635853,
   1.8128695475934251],
  [2.037295564080645,
   3.6537714112637327,
   3.6537714112637327,
   2.544852050635853],
  [1.7471396128336392, 4.54145894015223, 4.54145894015223, 3.6537714112637327],
  [0.0, 0.6849718574015595, 0.6849718574015595, 0.0],
  [0.0, 0.4524504077018086, 0.4524504077018086, 0.0],
  [0.0, 0.6277748327068301, 0.6277748327068301, 0.0],
  [0.4524504077018086,
   1.0443366899049966,
   1.0443366899049966,
   0.6277748327068301],
  [0.6849718574015595,
   1.4664380241963948,
   1.4664380241963948,
   1.0443366899049966],
  [0.0, 0.9331240918171445, 0.9331240918171445, 0.0],
  [0.0, 0.7464328353595892, 0.7464328353595892, 0.0],
  [0.0, 0.28738062412724913, 0.28738062412724913, 0.0],
  [0.0, 0.38565771496438356, 0.38565771496438356, 0.0],
  [0.0, 0.2530428559911293, 0.2530428559911293, 0.0],
  [0.0, 0.525991531459493, 0.525991531459493, 0.2530428559911293],
  [0.38565771496438356,
   0.5850013610514243,
   0.5850013610514243,
   0.525991531459493],
  [0.28738062412724913,
   0.8449718953675945,
   0.8449718953675945,
   0.5850013610514243],
  [0.7464328353595892,
   1.270508925732919,
   1.270508925732919,
   0.8449718953675945],
  [0.0, 0.3512602355453512, 0.3512602355453512, 0.0],
  [0.0, 0.4168521423777169, 0.4168521423777169, 0.3512602355453512],
  [0.0, 0.44109315369566154, 0.44109315369566154, 0.0],
  [0.0, 0.7865920409142491, 0.7865920409142491, 0.44109315369566154],
  [0.4168521423777169,
   1.0069884517879675,
   1.0069884517879675,
   0.7865920409142491],
  [0.0, 1.3419743782161777, 1.3419743782161777, 1.0069884517879675],
  [1.270508925732919,
   1.7318784849213362,
   1.7318784849213362,
   1.3419743782161777],
  [0.9331240918171445,
   2.333713026064991,
   2.333713026064991,
   1.7318784849213362],
  [1.4664380241963948,
   2.5967684621187197,
   2.5967684621187197,
   2.333713026064991],
  [0.0, 0.3001321986878705, 0.3001321986878705, 0.0],
  [0.0, 0.47364896998877987, 0.47364896998877987, 0.3001321986878705],
  [0.0, 0.36218244029502794, 0.36218244029502794, 0.0],
  [0.0, 0.36672598567347625, 0.36672598567347625, 0.0],
  [0.36218244029502794,
   0.5116738358669867,
   0.5116738358669867,
   0.36672598567347625],
  [0.47364896998877987,
   0.70288039912605,
   0.70288039912605,
   0.5116738358669867],
  [0.0, 0.6866947070378493, 0.6866947070378493, 0.0],
  [0.0, 0.41123267127061197, 0.41123267127061197, 0.0],
  [0.0, 0.3356824194443155, 0.3356824194443155, 0.0],
  [0.0, 0.4630499321246703, 0.4630499321246703, 0.3356824194443155],
  [0.0, 0.5133332197219557, 0.5133332197219557, 0.4630499321246703],
  [0.0, 0.6305350119872766, 0.6305350119872766, 0.5133332197219557],
  [0.41123267127061197,
   0.9428861332994922,
   0.9428861332994922,
   0.6305350119872766],
  [0.6866947070378493,
   1.0967730081885774,
   1.0967730081885774,
   0.9428861332994922],
  [0.70288039912605,
   1.6937767173652583,
   1.6937767173652583,
   1.0967730081885774],
  [0.0, 0.327117059606355, 0.327117059606355, 0.0],
  [0.0, 0.19052234012190372, 0.19052234012190372, 0.0],
  [0.0, 0.25315182955615695, 0.25315182955615695, 0.0],
  [0.19052234012190372,
   0.34928693615703627,
   0.34928693615703627,
   0.25315182955615695],
  [0.0, 0.41871032771038585, 0.41871032771038585, 0.34928693615703627],
  [0.327117059606355,
   0.6744839340710304,
   0.6744839340710304,
   0.41871032771038585],
  [0.0, 1.0170361941095967, 1.0170361941095967, 0.6744839340710304],
  [0.0, 0.3022399068780849, 0.3022399068780849, 0.0],
  [0.0, 0.5200731209522984, 0.5200731209522984, 0.0],
  [0.3022399068780849,
   0.7730038074279483,
   0.7730038074279483,
   0.5200731209522984],
  [0.0, 0.40053490166615247, 0.40053490166615247, 0.0],
  [0.0, 0.6003585611543764, 0.6003585611543764, 0.40053490166615247],
  [0.0, 0.8558394470910893, 0.8558394470910893, 0.6003585611543764],
  [0.7730038074279483,
   1.0329683804093281,
   1.0329683804093281,
   0.8558394470910893],
  [1.0170361941095967,
   1.7533629445521848,
   1.7533629445521848,
   1.0329683804093281],
  [1.6937767173652583,
   2.320112807014802,
   2.320112807014802,
   1.7533629445521848],
  [0.0, 0.14522001511809834, 0.14522001511809834, 0.0],
  [0.0, 0.26112968873029063, 0.26112968873029063, 0.14522001511809834],
  [0.0, 0.22789957940042604, 0.22789957940042604, 0.0],
  [0.0, 0.3094469638118314, 0.3094469638118314, 0.0],
  [0.22789957940042604,
   0.44670950931366793,
   0.44670950931366793,
   0.3094469638118314],
  [0.0, 0.24675870522592544, 0.24675870522592544, 0.0],
  [0.0, 0.2699497164161852, 0.2699497164161852, 0.0],
  [0.24675870522592544,
   0.512001643521965,
   0.512001643521965,
   0.2699497164161852],
  [0.0, 0.6010726749708831, 0.6010726749708831, 0.512001643521965],
  [0.44670950931366793,
   0.6954406365056839,
   0.6954406365056839,
   0.6010726749708831],
  [0.26112968873029063,
   0.8747738595597865,
   0.8747738595597865,
   0.6954406365056839],
  [0.0, 0.29124959182687055, 0.29124959182687055, 0.0],
  [0.0, 0.48974937380555333, 0.48974937380555333, 0.29124959182687055],
  [0.0, 0.232233825106192, 0.232233825106192, 0.0],
  [0.0, 0.3275913752430248, 0.3275913752430248, 0.232233825106192],
  [0.0, 0.6238482096003574, 0.6238482096003574, 0.3275913752430248],
  [0.48974937380555333,
   1.0841367166465432,
   1.0841367166465432,
   0.6238482096003574],
  [0.8747738595597865,
   1.2592691214804967,
   1.2592691214804967,
   1.0841367166465432],
  [0.0, 0.5977941567240227, 0.5977941567240227, 0.0],
  [0.0, 0.4286621564250941, 0.4286621564250941, 0.0],
  [0.0, 0.4799012047816162, 0.4799012047816162, 0.0],
  [0.4286621564250941,
   0.6899875659466673,
   0.6899875659466673,
   0.4799012047816162],
  [0.5977941567240227,
   0.8846472439336439,
   0.8846472439336439,
   0.6899875659466673],
  [0.0, 0.34676761646934495, 0.34676761646934495, 0.0],
  [0.0, 0.5557890327750182, 0.5557890327750182, 0.34676761646934495],
  [0.0, 0.7667688027256542, 0.7667688027256542, 0.5557890327750182],
  [0.0, 0.49754964703093535, 0.49754964703093535, 0.0],
  [0.0, 0.8267954075408888, 0.8267954075408888, 0.49754964703093535],
  [0.7667688027256542,
   1.5117429108161566,
   1.5117429108161566,
   0.8267954075408888],
  [0.8846472439336439,
   1.7290827415281234,
   1.7290827415281234,
   1.5117429108161566],
  [1.2592691214804967,
   3.129630522295752,
   3.129630522295752,
   1.7290827415281234],
  [2.320112807014802, 4.264671644937072, 4.264671644937072, 3.129630522295752],
  [2.5967684621187197,
   6.623714173505166,
   6.623714173505166,
   4.264671644937072],
  [4.54145894015223, 7.523220164225155, 7.523220164225155, 6.623714173505166],
  [5.811983594150478,
   12.691747554081736,
   12.691747554081736,
   7.523220164225155],
  [7.66460707359475,
   17.046095342859267,
   17.046095342859267,
   12.691747554081736],
  [8.77816962470977, 21.34876079565295, 21.34876079565295, 17.046095342859267],
  [17.090265653583952,
   24.200818228664783,
   24.200818228664783,
   21.34876079565295],
  [0.0, 1.3127894831628386, 1.3127894831628386, 0.0],
  [0.0, 0.551197303402604, 0.551197303402604, 0.0],
  [0.0, 0.7243249794198656, 0.7243249794198656, 0.0],
  [0.0, 0.2711915646401958, 0.2711915646401958, 0.0],
  [0.0, 0.5826110122952447, 0.5826110122952447, 0.2711915646401958],
  [0.0, 0.6627902125011051, 0.6627902125011051, 0.5826110122952447],
  [0.0, 1.417663600863197, 1.417663600863197, 0.6627902125011051],
  [0.7243249794198656,
   1.9331896591267965,
   1.9331896591267965,
   1.417663600863197],
  [0.551197303402604,
   2.2591428054593514,
   2.2591428054593514,
   1.9331896591267965],
  [1.3127894831628386,
   4.373677012831024,
   4.373677012831024,
   2.2591428054593514],
  [0.0, 1.5055333262866024, 1.5055333262866024, 0.0],
  [0.0, 1.1534126224303882, 1.1534126224303882, 0.0],
  [0.0, 1.4190803224186934, 1.4190803224186934, 0.0],
  [1.1534126224303882,
   1.873733857288221,
   1.873733857288221,
   1.4190803224186934],
  [1.5055333262866024,
   2.3314393154028754,
   2.3314393154028754,
   1.873733857288221],
  [0.0, 4.450721630753582, 4.450721630753582, 2.3314393154028754],
  [4.373677012831024, 5.243330680355576, 5.243330680355576, 4.450721630753582],
  [0.0, 0.7190760274631359, 0.7190760274631359, 0.0],
  [0.0, 1.0455221975454336, 1.0455221975454336, 0.7190760274631359],
  [0.0, 1.213694453796067, 1.213694453796067, 1.0455221975454336],
  [0.0, 0.8604692896526814, 0.8604692896526814, 0.0],
  [0.0, 0.20652138833581418, 0.20652138833581418, 0.0],
  [0.0, 0.5609709544436497, 0.5609709544436497, 0.20652138833581418],
  [0.0, 1.0429868704830252, 1.0429868704830252, 0.5609709544436497],
  [0.8604692896526814,
   1.5272719684931826,
   1.5272719684931826,
   1.0429868704830252],
  [0.0, 0.48963467196508836, 0.48963467196508836, 0.0],
  [0.0, 0.6200457885487131, 0.6200457885487131, 0.48963467196508836],
  [0.0, 0.9033109396869295, 0.9033109396869295, 0.0],
  [0.6200457885487131,
   1.645241021484417,
   1.645241021484417,
   0.9033109396869295],
  [1.5272719684931826,
   2.5690113545411584,
   2.5690113545411584,
   1.645241021484417],
  [1.213694453796067,
   3.7229671562127074,
   3.7229671562127074,
   2.5690113545411584],
  [0.0, 0.3368088062221925, 0.3368088062221925, 0.0],
  [0.0, 0.21479906347659608, 0.21479906347659608, 0.0],
  [0.0, 0.37766736307378557, 0.37766736307378557, 0.21479906347659608],
  [0.3368088062221925,
   0.6045719369586511,
   0.6045719369586511,
   0.37766736307378557],
  [0.0, 0.4761296544111521, 0.4761296544111521, 0.0],
  [0.0, 0.8019833170811813, 0.8019833170811813, 0.4761296544111521],
  [0.6045719369586511,
   1.3112397873952193,
   1.3112397873952193,
   0.8019833170811813],
  [0.0, 0.34497979116482663, 0.34497979116482663, 0.0],
  [0.0, 0.23044242489765035, 0.23044242489765035, 0.0],
  [0.0, 0.4888476788432568, 0.4888476788432568, 0.0],
  [0.23044242489765035,
   0.571369611923283,
   0.571369611923283,
   0.4888476788432568],
  [0.34497979116482663,
   0.7892457530794316,
   0.7892457530794316,
   0.571369611923283],
  [0.0, 0.2681156536060895, 0.2681156536060895, 0.0],
  [0.0, 0.44872094886180536, 0.44872094886180536, 0.2681156536060895],
  [0.0, 0.22946835917643926, 0.22946835917643926, 0.0],
  [0.0, 0.46364639539434555, 0.46364639539434555, 0.22946835917643926],
  [0.44872094886180536,
   0.765225323386641,
   0.765225323386641,
   0.46364639539434555],
  [0.0, 0.3148243666718433, 0.3148243666718433, 0.0],
  [0.0, 0.36953186763175205, 0.36953186763175205, 0.3148243666718433],
  [0.0, 0.2941479427354035, 0.2941479427354035, 0.0],
  [0.0, 0.4636522564674995, 0.4636522564674995, 0.2941479427354035],
  [0.36953186763175205,
   0.9526118548809387,
   0.9526118548809387,
   0.4636522564674995],
  [0.765225323386641,
   1.2782979334093332,
   1.2782979334093332,
   0.9526118548809387],
  [0.7892457530794316,
   1.4040783139671196,
   1.4040783139671196,
   1.2782979334093332],
  [1.3112397873952193,
   2.1116259582577586,
   2.1116259582577586,
   1.4040783139671196],
  [0.0, 0.22289396129337555, 0.22289396129337555, 0.0],
  [0.0, 0.27945699961968484, 0.27945699961968484, 0.22289396129337555],
  [0.0, 0.24844828237867347, 0.24844828237867347, 0.0],
  [0.0, 0.15246047465600282, 0.15246047465600282, 0.0],
  [0.0, 0.4297050366475879, 0.4297050366475879, 0.15246047465600282],
  [0.24844828237867347,
   0.5675950923580126,
   0.5675950923580126,
   0.4297050366475879],
  [0.27945699961968484,
   0.7371841523758735,
   0.7371841523758735,
   0.5675950923580126],
  [0.0, 0.11880034389103272, 0.11880034389103272, 0.0],
  [0.0, 0.2584946505150661, 0.2584946505150661, 0.0],
  [0.11880034389103272,
   0.41080633683496814,
   0.41080633683496814,
   0.2584946505150661],
  [0.0, 0.21237674527573663, 0.21237674527573663, 0.0],
  [0.0, 0.2647187960996017, 0.2647187960996017, 0.21237674527573663],
  [0.0, 0.43276438644093757, 0.43276438644093757, 0.2647187960996017],
  [0.41080633683496814,
   0.9003134345027659,
   0.9003134345027659,
   0.43276438644093757],
  [0.7371841523758735,
   1.0547247237108395,
   1.0547247237108395,
   0.9003134345027659],
  [0.0, 0.2648506137033028, 0.2648506137033028, 0.0],
  [0.0, 0.4509832448023806, 0.4509832448023806, 0.2648506137033028],
  [0.0, 0.3152757742181679, 0.3152757742181679, 0.0],
  [0.0, 0.45890945550568796, 0.45890945550568796, 0.3152757742181679],
  [0.0, 0.6182030734003509, 0.6182030734003509, 0.45890945550568796],
  [0.4509832448023806,
   0.7589776588493892,
   0.7589776588493892,
   0.6182030734003509],
  [0.0, 0.17488751099840782, 0.17488751099840782, 0.0],
  [0.0, 0.22851945447977173, 0.22851945447977173, 0.17488751099840782],
  [0.0, 0.35520648723120213, 0.35520648723120213, 0.22851945447977173],
  [0.0, 0.42087029549004024, 0.42087029549004024, 0.35520648723120213],
  [0.0, 0.15493893829674207, 0.15493893829674207, 0.0],
  [0.0, 0.2271347899678514, 0.2271347899678514, 0.15493893829674207],
  [0.0, 0.23410856152284348, 0.23410856152284348, 0.0],
  [0.0, 0.4411612041687884, 0.4411612041687884, 0.23410856152284348],
  [0.2271347899678514,
   0.7784784274593036,
   0.7784784274593036,
   0.4411612041687884],
  [0.42087029549004024,
   1.2382587785581547,
   1.2382587785581547,
   0.7784784274593036],
  [0.7589776588493892,
   2.031664357459953,
   2.031664357459953,
   1.2382587785581547],
  [1.0547247237108395,
   2.339258292825473,
   2.339258292825473,
   2.031664357459953],
  [0.0, 0.5642989308627147, 0.5642989308627147, 0.0],
  [0.0, 0.5681478294801651, 0.5681478294801651, 0.0],
  [0.5642989308627147,
   1.3033437994687895,
   1.3033437994687895,
   0.5681478294801651],
  [0.0, 0.2874974005300243, 0.2874974005300243, 0.0],
  [0.0, 0.4074043068765718, 0.4074043068765718, 0.0],
  [0.2874974005300243,
   0.8057040797642762,
   0.8057040797642762,
   0.4074043068765718],
  [0.0, 0.3765558913532443, 0.3765558913532443, 0.0],
  [0.0, 0.2858154506415471, 0.2858154506415471, 0.0],
  [0.0, 0.16606743375175212, 0.16606743375175212, 0.0],
  [0.0, 0.31248833955219313, 0.31248833955219313, 0.16606743375175212],
  [0.2858154506415471,
   0.5337342166156293,
   0.5337342166156293,
   0.31248833955219313],
  [0.3765558913532443,
   0.8889020951783636,
   0.8889020951783636,
   0.5337342166156293],
  [0.8057040797642762,
   1.7111081661187937,
   1.7111081661187937,
   0.8889020951783636],
  [1.3033437994687895,
   2.7855150489823592,
   2.7855150489823592,
   1.7111081661187937],
  [2.339258292825473,
   3.2992129544942412,
   3.2992129544942412,
   2.7855150489823592],
  [2.1116259582577586,
   3.792201905653905,
   3.792201905653905,
   3.2992129544942412],
  [0.0, 1.1137417538334509, 1.1137417538334509, 0.0],
  [0.0, 1.4167006791275303, 1.4167006791275303, 0.0],
  [1.1137417538334509,
   1.5273590711313505,
   1.5273590711313505,
   1.4167006791275303],
  [0.0, 0.13062515147363354, 0.13062515147363354, 0.0],
  [0.0, 0.4062105541042999, 0.4062105541042999, 0.13062515147363354],
  [0.0, 0.4837069030359745, 0.4837069030359745, 0.4062105541042999],
  [0.0, 0.1885842280317343, 0.1885842280317343, 0.0],
  [0.0, 0.26009309420689986, 0.26009309420689986, 0.1885842280317343],
  [0.0, 0.37743899881326676, 0.37743899881326676, 0.0],
  [0.26009309420689986,
   0.5705272289124417,
   0.5705272289124417,
   0.37743899881326676],
  [0.4837069030359745,
   0.8397123665879423,
   0.8397123665879423,
   0.5705272289124417],
  [0.0, 0.21262801063217285, 0.21262801063217285, 0.0],
  [0.0, 0.45717720415804924, 0.45717720415804924, 0.21262801063217285],
  [0.0, 0.6347986320954827, 0.6347986320954827, 0.45717720415804924],
  [0.0, 0.15772445829611073, 0.15772445829611073, 0.0],
  [0.0, 0.25661837578181296, 0.25661837578181296, 0.0],
  [0.0, 0.39921690619028233, 0.39921690619028233, 0.25661837578181296],
  [0.15772445829611073,
   0.8314570050022897,
   0.8314570050022897,
   0.39921690619028233],
  [0.0, 1.2074022236262434, 1.2074022236262434, 0.8314570050022897],
  [0.6347986320954827,
   1.4105550914464118,
   1.4105550914464118,
   1.2074022236262434],
  [0.8397123665879423,
   1.7121529502629533,
   1.7121529502629533,
   1.4105550914464118],
  [0.0, 0.11336401386773694, 0.11336401386773694, 0.0],
  [0.0, 0.5171253071255423, 0.5171253071255423, 0.11336401386773694],
  [0.0, 0.3091248074442636, 0.3091248074442636, 0.0],
  [0.0, 0.6817910522096808, 0.6817910522096808, 0.3091248074442636],
  [0.5171253071255423,
   0.7837867230506858,
   0.7837867230506858,
   0.6817910522096808],
  [0.0, 0.4925931086867229, 0.4925931086867229, 0.0],
  [0.0, 0.5278043618207623, 0.5278043618207623, 0.0],
  [0.0, 0.8714198949812115, 0.8714198949812115, 0.5278043618207623],
  [0.4925931086867229,
   1.0417958736957615,
   1.0417958736957615,
   0.8714198949812115],
  [0.0, 1.3735667599777983, 1.3735667599777983, 1.0417958736957615],
  [0.0, 0.5517686965592945, 0.5517686965592945, 0.0],
  [0.0, 1.1265280684951207, 1.1265280684951207, 0.5517686965592945],
  [0.0, 0.4397949010671647, 0.4397949010671647, 0.0],
  [0.0, 0.25115930654328766, 0.25115930654328766, 0.0],
  [0.0, 0.30959772811561365, 0.30959772811561365, 0.25115930654328766],
  [0.0, 0.32357895862678987, 0.32357895862678987, 0.0],
  [0.30959772811561365,
   0.5421848306710344,
   0.5421848306710344,
   0.32357895862678987],
  [0.4397949010671647,
   0.7495845883353611,
   0.7495845883353611,
   0.5421848306710344],
  [0.0, 0.34086779346736296, 0.34086779346736296, 0.0],
  [0.0, 0.47777638089790586, 0.47777638089790586, 0.0],
  [0.34086779346736296,
   0.9061725264481323,
   0.9061725264481323,
   0.47777638089790586],
  [0.7495845883353611,
   1.7560936968663408,
   1.7560936968663408,
   0.9061725264481323],
  [1.1265280684951207,
   2.242377821684535,
   2.242377821684535,
   1.7560936968663408],
  [1.3735667599777983,
   2.512052219613793,
   2.512052219613793,
   2.242377821684535],
  [0.7837867230506858,
   2.684788248976441,
   2.684788248976441,
   2.512052219613793],
  [1.7121529502629533,
   4.222904841788861,
   4.222904841788861,
   2.684788248976441],
  [1.5273590711313505,
   6.0987338716298245,
   6.0987338716298245,
   4.222904841788861],
  [3.792201905653905,
   7.7430058188880455,
   7.7430058188880455,
   6.0987338716298245],
  [3.7229671562127074,
   8.320824410735868,
   8.320824410735868,
   7.7430058188880455],
  [5.243330680355576,
   15.910075070097497,
   15.910075070097497,
   8.320824410735868],
  [0.0, 0.7144492116582116, 0.7144492116582116, 0.0],
  [0.0, 0.4384534907351261, 0.4384534907351261, 0.0],
  [0.0, 0.4645971551198947, 0.4645971551198947, 0.0],
  [0.0, 0.5556313231523169, 0.5556313231523169, 0.4645971551198947],
  [0.4384534907351261,
   0.630943545979788,
   0.630943545979788,
   0.5556313231523169],
  [0.0, 0.8200189872312801, 0.8200189872312801, 0.0],
  [0.630943545979788,
   1.2343658537273745,
   1.2343658537273745,
   0.8200189872312801],
  [0.7144492116582116,
   1.6305933237683452,
   1.6305933237683452,
   1.2343658537273745],
  [0.0, 0.5507183036498067, 0.5507183036498067, 0.0],
  [0.0, 0.9437146460170847, 0.9437146460170847, 0.5507183036498067],
  [0.0, 1.1148513117547394, 1.1148513117547394, 0.9437146460170847],
  [0.0, 1.2719251601073793, 1.2719251601073793, 0.0],
  [1.1148513117547394,
   1.6583933001151512,
   1.6583933001151512,
   1.2719251601073793],
  [1.6305933237683452,
   2.605757282187398,
   2.605757282187398,
   1.6583933001151512],
  [0.0, 0.8094758007944568, 0.8094758007944568, 0.0],
  [0.0, 1.3214441984550196, 1.3214441984550196, 0.0],
  [0.8094758007944568,
   1.5908122135791973,
   1.5908122135791973,
   1.3214441984550196],
  [0.0, 0.5775361928106061, 0.5775361928106061, 0.0],
  [0.0, 1.3561402475075228, 1.3561402475075228, 0.5775361928106061],
  [0.0, 0.6479188358157166, 0.6479188358157166, 0.0],
  [0.0, 0.9361391074771441, 0.9361391074771441, 0.6479188358157166],
  [0.0, 1.488108332410318, 1.488108332410318, 0.9361391074771441],
  [1.3561402475075228,
   2.3595687382045525,
   2.3595687382045525,
   1.488108332410318],
  [1.5908122135791973, 2.7234682488239, 2.7234682488239, 2.3595687382045525],
  [2.605757282187398, 4.19489233371747, 4.19489233371747, 2.7234682488239],
  [0.0, 0.32672782561024355, 0.32672782561024355, 0.0],
  [0.0, 0.5474037530745979, 0.5474037530745979, 0.32672782561024355],
  [0.0, 0.6299365023602557, 0.6299365023602557, 0.5474037530745979],
  [0.0, 0.6328291113308938, 0.6328291113308938, 0.0],
  [0.6299365023602557,
   1.2127678398687394,
   1.2127678398687394,
   0.6328291113308938],
  [0.0, 0.319054446626672, 0.319054446626672, 0.0],
  [0.0, 0.3860089389951989, 0.3860089389951989, 0.0],
  [0.319054446626672,
   0.44933681522368796,
   0.44933681522368796,
   0.3860089389951989],
  [0.0, 0.46494462790552044, 0.46494462790552044, 0.0],
  [0.0, 0.5071644190854205, 0.5071644190854205, 0.46494462790552044],
  [0.0, 0.5077912263762787, 0.5077912263762787, 0.0],
  [0.5071644190854205,
   0.8922613155450225,
   0.8922613155450225,
   0.5077912263762787],
  [0.44933681522368796,
   1.3295497536274203,
   1.3295497536274203,
   0.8922613155450225],
  [1.2127678398687394,
   2.1950737820665553,
   2.1950737820665553,
   1.3295497536274203],
  [0.0, 0.49849462001161077, 0.49849462001161077, 0.0],
  [0.0, 0.6976883469033186, 0.6976883469033186, 0.49849462001161077],
  [0.0, 0.7042736254741806, 0.7042736254741806, 0.0],
  [0.6976883469033186,
   1.0335457408459479,
   1.0335457408459479,
   0.7042736254741806],
  [0.0, 0.5540097668257516, 0.5540097668257516, 0.0],
  [0.0, 0.39527203075909956, 0.39527203075909956, 0.0],
  [0.0, 0.5131610421213542, 0.5131610421213542, 0.0],
  [0.39527203075909956,
   0.8199472321535294,
   0.8199472321535294,
   0.5131610421213542],
  [0.5540097668257516,
   1.114817578678473,
   1.114817578678473,
   0.8199472321535294],
  [1.0335457408459479,
   2.218779593591242,
   2.218779593591242,
   1.114817578678473],
  [2.1950737820665553,
   2.590921288213174,
   2.590921288213174,
   2.218779593591242],
  [0.0, 0.282687719277857, 0.282687719277857, 0.0],
  [0.0, 0.787261402206686, 0.787261402206686, 0.0],
  [0.0, 1.0321743538959907, 1.0321743538959907, 0.0],
  [0.787261402206686,
   1.3563341537231157,
   1.3563341537231157,
   1.0321743538959907],
  [0.282687719277857,
   1.670999421774195,
   1.670999421774195,
   1.3563341537231157],
  [0.0, 0.7507420471273228, 0.7507420471273228, 0.0],
  [0.0, 1.1204594340319345, 1.1204594340319345, 0.7507420471273228],
  [0.0, 0.5895830296767884, 0.5895830296767884, 0.0],
  [0.0, 0.5114986013842769, 0.5114986013842769, 0.0],
  [0.0, 0.6581689795058696, 0.6581689795058696, 0.5114986013842769],
  [0.5895830296767884, 0.99475546115633, 0.99475546115633, 0.6581689795058696],
  [0.0, 0.4990001244475439, 0.4990001244475439, 0.0],
  [0.0, 1.1201497619100909, 1.1201497619100909, 0.4990001244475439],
  [0.99475546115633,
   1.2931626842224009,
   1.2931626842224009,
   1.1201497619100909],
  [1.1204594340319345,
   2.4031978504700753,
   2.4031978504700753,
   1.2931626842224009],
  [1.670999421774195,
   3.355815517329108,
   3.355815517329108,
   2.4031978504700753],
  [2.590921288213174, 4.847955888807147, 4.847955888807147, 3.355815517329108],
  [4.19489233371747, 6.566985615753296, 6.566985615753296, 4.847955888807147],
  [0.0, 0.7813680894916596, 0.7813680894916596, 0.0],
  [0.0, 0.9907886264218497, 0.9907886264218497, 0.7813680894916596],
  [0.0, 0.9161260610252391, 0.9161260610252391, 0.0],
  [0.0, 0.49330211829576637, 0.49330211829576637, 0.0],
  [0.0, 0.6556595145538504, 0.6556595145538504, 0.49330211829576637],
  [0.0, 0.5612918394938959, 0.5612918394938959, 0.0],
  [0.0, 1.0062933270959595, 1.0062933270959595, 0.5612918394938959],
  [0.6556595145538504,
   1.2764524852181227,
   1.2764524852181227,
   1.0062933270959595],
  [0.9161260610252391,
   1.5193384495797508,
   1.5193384495797508,
   1.2764524852181227],
  [0.9907886264218497,
   2.0515352560651965,
   2.0515352560651965,
   1.5193384495797508],
  [0.0, 0.5463724086295935, 0.5463724086295935, 0.0],
  [0.0, 0.9220853472196043, 0.9220853472196043, 0.5463724086295935],
  [0.0, 0.5261068668197375, 0.5261068668197375, 0.0],
  [0.0, 0.26072464922222205, 0.26072464922222205, 0.0],
  [0.0, 0.4394821863768691, 0.4394821863768691, 0.26072464922222205],
  [0.0, 0.49246528107222165, 0.49246528107222165, 0.4394821863768691],
  [0.0, 0.7287244389752259, 0.7287244389752259, 0.49246528107222165],
  [0.5261068668197375,
   0.9535277055967039,
   0.9535277055967039,
   0.7287244389752259],
  [0.0, 0.26419528993756103, 0.26419528993756103, 0.0],
  [0.0, 0.4646529484474596, 0.4646529484474596, 0.26419528993756103],
  [0.0, 0.714178302877106, 0.714178302877106, 0.4646529484474596],
  [0.0, 0.25310624425091, 0.25310624425091, 0.0],
  [0.0, 0.4569140259139218, 0.4569140259139218, 0.25310624425091],
  [0.0, 0.7711420451971562, 0.7711420451971562, 0.0],
  [0.4569140259139218,
   0.8659196278312272,
   0.8659196278312272,
   0.7711420451971562],
  [0.714178302877106,
   1.0746180767053946,
   1.0746180767053946,
   0.8659196278312272],
  [0.9535277055967039,
   1.6569081650602144,
   1.6569081650602144,
   1.0746180767053946],
  [0.9220853472196043,
   1.899356451316479,
   1.899356451316479,
   1.6569081650602144],
  [0.0, 0.7655401324480307, 0.7655401324480307, 0.0],
  [0.0, 0.325292775712438, 0.325292775712438, 0.0],
  [0.0, 0.4288748020420627, 0.4288748020420627, 0.0],
  [0.325292775712438,
   0.5655304887040886,
   0.5655304887040886,
   0.4288748020420627],
  [0.0, 0.8064630381215365, 0.8064630381215365, 0.5655304887040886],
  [0.7655401324480307,
   1.261627825888176,
   1.261627825888176,
   0.8064630381215365],
  [0.0, 0.4735762614127621, 0.4735762614127621, 0.0],
  [0.0, 0.8197174594401131, 0.8197174594401131, 0.4735762614127621],
  [0.0, 0.4157991594550123, 0.4157991594550123, 0.0],
  [0.0, 0.5007522962853684, 0.5007522962853684, 0.4157991594550123],
  [0.0, 0.8711889611792171, 0.8711889611792171, 0.5007522962853684],
  [0.8197174594401131,
   1.5155815822301142,
   1.5155815822301142,
   0.8711889611792171],
  [1.261627825888176,
   2.0583322711976546,
   2.0583322711976546,
   1.5155815822301142],
  [1.899356451316479,
   3.3388517186232667,
   3.3388517186232667,
   2.0583322711976546],
  [2.0515352560651965,
   6.051109365334701,
   6.051109365334701,
   3.3388517186232667],
  [0.0, 0.28067172516912875, 0.28067172516912875, 0.0],
  [0.0, 0.28521338809748753, 0.28521338809748753, 0.0],
  [0.28067172516912875,
   0.5709361646751809,
   0.5709361646751809,
   0.28521338809748753],
  [0.0, 0.1764485110583502, 0.1764485110583502, 0.0],
  [0.0, 0.3746396079744711, 0.3746396079744711, 0.1764485110583502],
  [0.0, 0.4737466917087886, 0.4737466917087886, 0.0],
  [0.3746396079744711,
   0.7580247819169404,
   0.7580247819169404,
   0.4737466917087886],
  [0.5709361646751809,
   1.047440753667347,
   1.047440753667347,
   0.7580247819169404],
  [0.0, 0.4894786713953174, 0.4894786713953174, 0.0],
  [0.0, 0.6658842468630484, 0.6658842468630484, 0.0],
  [0.4894786713953174,
   1.002148122956061,
   1.002148122956061,
   0.6658842468630484],
  [0.0, 0.6140337088485259, 0.6140337088485259, 0.0],
  [0.0, 0.544245613393487, 0.544245613393487, 0.0],
  [0.0, 0.6439868845694772, 0.6439868845694772, 0.0],
  [0.544245613393487,
   0.9658877685341546,
   0.9658877685341546,
   0.6439868845694772],
  [0.6140337088485259,
   1.1391473441147275,
   1.1391473441147275,
   0.9658877685341546],
  [1.002148122956061,
   1.8990535338993777,
   1.8990535338993777,
   1.1391473441147275],
  [1.047440753667347,
   2.240775581067539,
   2.240775581067539,
   1.8990535338993777],
  [0.0, 0.8625114733278315, 0.8625114733278315, 0.0],
  [0.0, 0.8254208731294651, 0.8254208731294651, 0.0],
  [0.0, 1.5045050685531596, 1.5045050685531596, 0.8254208731294651],
  [0.8625114733278315,
   2.0986579092768562,
   2.0986579092768562,
   1.5045050685531596],
  [0.0, 0.5932957324749338, 0.5932957324749338, 0.0],
  [0.0, 0.5158177939862603, 0.5158177939862603, 0.0],
  [0.0, 0.8345665657225053, 0.8345665657225053, 0.5158177939862603],
  [0.5932957324749338,
   1.2131735017654885,
   1.2131735017654885,
   0.8345665657225053],
  [0.0, 0.40343376050421625, 0.40343376050421625, 0.0],
  [0.0, 0.5681036380767728, 0.5681036380767728, 0.40343376050421625],
  [0.0, 1.4254751220972233, 1.4254751220972233, 0.5681036380767728],
  [1.2131735017654885,
   2.141617704844969,
   2.141617704844969,
   1.4254751220972233],
  [2.0986579092768562,
   3.1422848254597304,
   3.1422848254597304,
   2.141617704844969],
  [2.240775581067539,
   3.961130496722097,
   3.961130496722097,
   3.1422848254597304],
  [0.0, 0.27127943096573265, 0.27127943096573265, 0.0],
  [0.0, 0.3488469092157378, 0.3488469092157378, 0.27127943096573265],
  [0.0, 0.4459192049130599, 0.4459192049130599, 0.0],
  [0.3488469092157378,
   0.6750043099743707,
   0.6750043099743707,
   0.4459192049130599],
  [0.0, 0.9853273491837056, 0.9853273491837056, 0.6750043099743707],
  [0.0, 0.4262368698459187, 0.4262368698459187, 0.0],
  [0.0, 0.6665287630999405, 0.6665287630999405, 0.4262368698459187],
  [0.0, 0.3507955219352706, 0.3507955219352706, 0.0],
  [0.0, 0.4568111152734055, 0.4568111152734055, 0.0],
  [0.0, 0.6081218867061998, 0.6081218867061998, 0.4568111152734055],
  [0.3507955219352706,
   0.8138979635189812,
   0.8138979635189812,
   0.6081218867061998],
  [0.6665287630999405,
   1.2189704452144619,
   1.2189704452144619,
   0.8138979635189812],
  [0.9853273491837056,
   2.389504683084874,
   2.389504683084874,
   1.2189704452144619],
  [0.0, 0.16528368357275108, 0.16528368357275108, 0.0],
  [0.0, 0.18770291571448486, 0.18770291571448486, 0.0],
  [0.0, 0.29183269211656826, 0.29183269211656826, 0.18770291571448486],
  [0.0, 0.33393699485330963, 0.33393699485330963, 0.0],
  [0.29183269211656826,
   0.5107133862222495,
   0.5107133862222495,
   0.33393699485330963],
  [0.16528368357275108,
   0.615963202391657,
   0.615963202391657,
   0.5107133862222495],
  [0.0, 0.471991959220237, 0.471991959220237, 0.0],
  [0.0, 0.37199208776834547, 0.37199208776834547, 0.0],
  [0.0, 0.5701607031407051, 0.5701607031407051, 0.37199208776834547],
  [0.471991959220237,
   0.6944527880339348,
   0.6944527880339348,
   0.5701607031407051],
  [0.615963202391657,
   0.9818707581287079,
   0.9818707581287079,
   0.6944527880339348],
  [0.0, 0.380248677459189, 0.380248677459189, 0.0],
  [0.0, 0.576176250439359, 0.576176250439359, 0.380248677459189],
  [0.0, 1.0128864355167735, 1.0128864355167735, 0.576176250439359],
  [0.9818707581287079,
   1.5060531541799578,
   1.5060531541799578,
   1.0128864355167735],
  [0.0, 0.30230718972281395, 0.30230718972281395, 0.0],
  [0.0, 0.3898002327059519, 0.3898002327059519, 0.30230718972281395],
  [0.0, 0.36249616984124816, 0.36249616984124816, 0.0],
  [0.0, 0.4602944803182791, 0.4602944803182791, 0.36249616984124816],
  [0.0, 0.25364642237631585, 0.25364642237631585, 0.0],
  [0.0, 0.321704278494836, 0.321704278494836, 0.0],
  [0.25364642237631585,
   0.4674442593982454,
   0.4674442593982454,
   0.321704278494836],
  [0.4602944803182791,
   0.6663431826826806,
   0.6663431826826806,
   0.4674442593982454],
  [0.3898002327059519,
   0.9357876293624559,
   0.9357876293624559,
   0.6663431826826806],
  [0.0, 0.26320283544984074, 0.26320283544984074, 0.0],
  [0.0, 0.45370188212924484, 0.45370188212924484, 0.26320283544984074],
  [0.0, 0.9919102434784514, 0.9919102434784514, 0.45370188212924484],
  [0.9357876293624559,
   1.7299246876251855,
   1.7299246876251855,
   0.9919102434784514],
  [1.5060531541799578,
   2.4016063073370266,
   2.4016063073370266,
   1.7299246876251855],
  [2.389504683084874,
   3.669700927795386,
   3.669700927795386,
   2.4016063073370266],
  [0.0, 1.019843989128476, 1.019843989128476, 0.0],
  [0.0, 0.7778925796147118, 0.7778925796147118, 0.0],
  [0.0, 1.3889451261210157, 1.3889451261210157, 0.7778925796147118],
  [1.019843989128476,
   1.782544111493694,
   1.782544111493694,
   1.3889451261210157],
  [0.0, 0.7907119462585541, 0.7907119462585541, 0.0],
  [0.0, 0.6765159327764885, 0.6765159327764885, 0.0],
  [0.0, 1.046427956601034, 1.046427956601034, 0.6765159327764885],
  [0.7907119462585541,
   1.177638667739465,
   1.177638667739465,
   1.046427956601034],
  [0.0, 0.7473888252284784, 0.7473888252284784, 0.0],
  [0.0, 0.7657341927948865, 0.7657341927948865, 0.7473888252284784],
  [0.0, 1.119332093060391, 1.119332093060391, 0.0],
  [0.7657341927948865,
   1.9611697700575763,
   1.9611697700575763,
   1.119332093060391],
  [1.177638667739465,
   2.0815060676978634,
   2.0815060676978634,
   1.9611697700575763],
  [1.782544111493694,
   2.8460478629838946,
   2.8460478629838946,
   2.0815060676978634],
  [0.0, 0.21492908363589439, 0.21492908363589439, 0.0],
  [0.0, 0.2295856462958252, 0.2295856462958252, 0.0],
  [0.0, 0.29525996537893234, 0.29525996537893234, 0.0],
  [0.2295856462958252,
   0.4961435907445184,
   0.4961435907445184,
   0.29525996537893234],
  [0.21492908363589439,
   0.6342891661090784,
   0.6342891661090784,
   0.4961435907445184],
  [0.0, 0.21514875430388178, 0.21514875430388178, 0.0],
  [0.0, 0.44039583352003425, 0.44039583352003425, 0.0],
  [0.21514875430388178,
   0.5041100079899746,
   0.5041100079899746,
   0.44039583352003425],
  [0.0, 0.6343189525611065, 0.6343189525611065, 0.5041100079899746],
  [0.6342891661090784,
   1.0538082048334867,
   1.0538082048334867,
   0.6343189525611065],
  [0.0, 0.47149240554972605, 0.47149240554972605, 0.0],
  [0.0, 0.710257094156242, 0.710257094156242, 0.47149240554972605],
  [0.0, 0.6004883756447906, 0.6004883756447906, 0.0],
  [0.0, 0.6171584614312963, 0.6171584614312963, 0.0],
  [0.6004883756447906,
   1.1041027037477409,
   1.1041027037477409,
   0.6171584614312963],
  [0.710257094156242,
   1.192734391341705,
   1.192734391341705,
   1.1041027037477409],
  [1.0538082048334867,
   1.5368866258655451,
   1.5368866258655451,
   1.192734391341705],
  [0.0, 0.42552556721333695, 0.42552556721333695, 0.0],
  [0.0, 0.8968557097575509, 0.8968557097575509, 0.0],
  [0.42552556721333695,
   1.1486062920434612,
   1.1486062920434612,
   0.8968557097575509],
  [0.0, 0.6130540284329717, 0.6130540284329717, 0.0],
  [0.0, 0.2113045338579841, 0.2113045338579841, 0.0],
  [0.0, 0.4217505340363159, 0.4217505340363159, 0.2113045338579841],
  [0.0, 0.5363397943180626, 0.5363397943180626, 0.0],
  [0.4217505340363159,
   0.655768840426919,
   0.655768840426919,
   0.5363397943180626],
  [0.6130540284329717,
   1.2542400553550104,
   1.2542400553550104,
   0.655768840426919],
  [0.0, 0.41413103935398277, 0.41413103935398277, 0.0],
  [0.0, 0.647084746385961, 0.647084746385961, 0.0],
  [0.41413103935398277,
   0.8657517694312157,
   0.8657517694312157,
   0.647084746385961],
  [0.0, 1.379881019238155, 1.379881019238155, 0.8657517694312157],
  [1.2542400553550104,
   2.267873028280844,
   2.267873028280844,
   1.379881019238155],
  [1.1486062920434612,
   2.460926316791697,
   2.460926316791697,
   2.267873028280844],
  [1.5368866258655451,
   2.9857439708327784,
   2.9857439708327784,
   2.460926316791697],
  [0.0, 0.404448347134703, 0.404448347134703, 0.0],
  [0.0, 0.27945189226344336, 0.27945189226344336, 0.0],
  [0.0, 0.5770043739856984, 0.5770043739856984, 0.27945189226344336],
  [0.404448347134703,
   1.0353817155278775,
   1.0353817155278775,
   0.5770043739856984],
  [0.0, 0.19048393524721366, 0.19048393524721366, 0.0],
  [0.0, 0.22484804174302814, 0.22484804174302814, 0.0],
  [0.0, 0.4747192915485924, 0.4747192915485924, 0.22484804174302814],
  [0.19048393524721366,
   0.6126868124037376,
   0.6126868124037376,
   0.4747192915485924],
  [0.0, 0.4929495401650738, 0.4929495401650738, 0.0],
  [0.0, 0.5110471778831693, 0.5110471778831693, 0.0],
  [0.4929495401650738,
   0.957663896418982,
   0.957663896418982,
   0.5110471778831693],
  [0.6126868124037376,
   1.207288838134213,
   1.207288838134213,
   0.957663896418982],
  [1.0353817155278775,
   1.2412782178327315,
   1.2412782178327315,
   1.207288838134213],
  [0.0, 0.3743311667783334, 0.3743311667783334, 0.0],
  [0.0, 0.32093325344893964, 0.32093325344893964, 0.0],
  [0.0, 0.39468217573408565, 0.39468217573408565, 0.0],
  [0.32093325344893964,
   0.7039316540087356,
   0.7039316540087356,
   0.39468217573408565],
  [0.3743311667783334,
   0.7851976465765333,
   0.7851976465765333,
   0.7039316540087356],
  [0.0, 0.5387274467600048, 0.5387274467600048, 0.0],
  [0.0, 0.33375390672818395, 0.33375390672818395, 0.0],
  [0.0, 0.3444683246572225, 0.3444683246572225, 0.33375390672818395],
  [0.0, 0.42315632299342426, 0.42315632299342426, 0.3444683246572225],
  [0.0, 0.48370083297201993, 0.48370083297201993, 0.0],
  [0.42315632299342426,
   0.686185420297768,
   0.686185420297768,
   0.48370083297201993],
  [0.5387274467600048,
   0.8948728333357141,
   0.8948728333357141,
   0.686185420297768],
  [0.7851976465765333,
   1.2846628140180252,
   1.2846628140180252,
   0.8948728333357141],
  [0.0, 0.34719986401440506, 0.34719986401440506, 0.0],
  [0.0, 0.3586562386281413, 0.3586562386281413, 0.34719986401440506],
  [0.0, 0.6434895036719478, 0.6434895036719478, 0.0],
  [0.0, 0.7335762324479062, 0.7335762324479062, 0.6434895036719478],
  [0.3586562386281413,
   1.2703333077430532,
   1.2703333077430532,
   0.7335762324479062],
  [0.0, 1.6697993216486984, 1.6697993216486984, 1.2703333077430532],
  [1.2846628140180252,
   2.9067572799003636,
   2.9067572799003636,
   1.6697993216486984],
  [1.2412782178327315,
   3.5503437005450844,
   3.5503437005450844,
   2.9067572799003636],
  [2.9857439708327784,
   5.859041400571805,
   5.859041400571805,
   3.5503437005450844],
  [2.8460478629838946,
   6.813310116915281,
   6.813310116915281,
   5.859041400571805],
  [3.669700927795386, 7.360235798797196, 7.360235798797196, 6.813310116915281],
  [3.961130496722097, 7.503669251179762, 7.503669251179762, 7.360235798797196],
  [6.051109365334701,
   10.355453213673607,
   10.355453213673607,
   7.503669251179762],
  [6.566985615753296,
   16.683475565857936,
   16.683475565857936,
   10.355453213673607],
  [15.910075070097497,
   29.154681227352857,
   29.154681227352857,
   16.683475565857936],
  [0.0, 1.3374485629286061, 1.3374485629286061, 0.0],
  [0.0, 2.351038045208272, 2.351038045208272, 1.3374485629286061],
  [0.0, 1.5803490648436456, 1.5803490648436456, 0.0],
  [0.0, 1.8186898155322861, 1.8186898155322861, 1.5803490648436456],
  [0.0, 2.2779474303011646, 2.2779474303011646, 1.8186898155322861],
  [0.0, 3.700625628225745, 3.700625628225745, 2.2779474303011646],
  [2.351038045208272, 5.062895738235151, 5.062895738235151, 3.700625628225745],
  [0.0, 0.9331570473287937, 0.9331570473287937, 0.0],
  [0.0, 0.9528090872696603, 0.9528090872696603, 0.0],
  [0.9331570473287937,
   1.910934618939185,
   1.910934618939185,
   0.9528090872696603],
  [0.0, 1.008984718604142, 1.008984718604142, 0.0],
  [0.0, 1.5184819491246124, 1.5184819491246124, 1.008984718604142],
  [0.0, 1.552790521435078, 1.552790521435078, 1.5184819491246124],
  [0.0, 0.35948623451629536, 0.35948623451629536, 0.0],
  [0.0, 1.118759466203704, 1.118759466203704, 0.0],
  [0.35948623451629536,
   2.247430323156757,
   2.247430323156757,
   1.118759466203704],
  [1.552790521435078, 2.631548673713814, 2.631548673713814, 2.247430323156757],
  [0.0, 0.30919842028072353, 0.30919842028072353, 0.0],
  [0.0, 1.0396366856823862, 1.0396366856823862, 0.30919842028072353],
  [0.0, 1.2502937945396597, 1.2502937945396597, 1.0396366856823862],
  [0.0, 2.9457647978990353, 2.9457647978990353, 1.2502937945396597],
  [2.631548673713814,
   4.325742049557748,
   4.325742049557748,
   2.9457647978990353],
  [1.910934618939185, 5.562928873238638, 5.562928873238638, 4.325742049557748],
  [5.062895738235151, 9.864947982498094, 9.864947982498094, 5.562928873238638],
  [0.0, 1.70025484480862, 1.70025484480862, 0.0],
  [0.0, 0.7937384280668391, 0.7937384280668391, 0.0],
  [0.0, 0.8050390901019325, 0.8050390901019325, 0.0],
  [0.7937384280668391,
   1.4630345863539107,
   1.4630345863539107,
   0.8050390901019325],
  [0.0, 2.1341089868460816, 2.1341089868460816, 1.4630345863539107],
  [0.0, 0.9490412797388612, 0.9490412797388612, 0.0],
  [0.0, 0.9636903287696899, 0.9636903287696899, 0.0],
  [0.9490412797388612,
   1.3156738000757378,
   1.3156738000757378,
   0.9636903287696899],
  [0.0, 1.422957131526948, 1.422957131526948, 1.3156738000757378],
  [0.0, 0.6004125542196983, 0.6004125542196983, 0.0],
  [0.0, 0.8580550859660867, 0.8580550859660867, 0.0],
  [0.6004125542196983,
   1.5732080345414718,
   1.5732080345414718,
   0.8580550859660867],
  [0.0, 2.0174470076420223, 2.0174470076420223, 1.5732080345414718],
  [1.422957131526948,
   2.969580436979461,
   2.969580436979461,
   2.0174470076420223],
  [2.1341089868460816,
   3.398212026203251,
   3.398212026203251,
   2.969580436979461],
  [1.70025484480862,
   3.7578638448054296,
   3.7578638448054296,
   3.398212026203251],
  [0.0, 0.8600891801195301, 0.8600891801195301, 0.0],
  [0.0, 1.2803293049367217, 1.2803293049367217, 0.8600891801195301],
  [0.0, 0.9638058015463911, 0.9638058015463911, 0.0],
  [0.0, 0.6609735247929343, 0.6609735247929343, 0.0],
  [0.0, 1.0786076811452363, 1.0786076811452363, 0.6609735247929343],
  [0.0, 1.300676401647615, 1.300676401647615, 1.0786076811452363],
  [0.9638058015463911,
   1.5531725541177388,
   1.5531725541177388,
   1.300676401647615],
  [1.2803293049367217,
   1.9991067298495722,
   1.9991067298495722,
   1.5531725541177388],
  [0.0, 0.8533821794772481, 0.8533821794772481, 0.0],
  [0.0, 1.4455810152573652, 1.4455810152573652, 0.8533821794772481],
  [0.0, 0.5676679968280981, 0.5676679968280981, 0.0],
  [0.0, 0.4617503520294177, 0.4617503520294177, 0.0],
  [0.0, 0.7852139194092206, 0.7852139194092206, 0.4617503520294177],
  [0.0, 0.8028901689950091, 0.8028901689950091, 0.7852139194092206],
  [0.0, 1.0271644151626462, 1.0271644151626462, 0.8028901689950091],
  [0.5676679968280981,
   1.5562003077376845,
   1.5562003077376845,
   1.0271644151626462],
  [1.4455810152573652,
   2.3782460402686123,
   2.3782460402686123,
   1.5562003077376845],
  [1.9991067298495722,
   4.003696341456434,
   4.003696341456434,
   2.3782460402686123],
  [0.0, 0.6669500441948721, 0.6669500441948721, 0.0],
  [0.0, 0.7960523892668001, 0.7960523892668001, 0.6669500441948721],
  [0.0, 0.47747061226042276, 0.47747061226042276, 0.0],
  [0.0, 0.608919094246394, 0.608919094246394, 0.47747061226042276],
  [0.0, 0.6475009978056888, 0.6475009978056888, 0.0],
  [0.608919094246394,
   0.9091112834683658,
   0.9091112834683658,
   0.6475009978056888],
  [0.7960523892668001,
   1.219868712229671,
   1.219868712229671,
   0.9091112834683658],
  [0.0, 0.7348870863832822, 0.7348870863832822, 0.0],
  [0.0, 0.8812896320892102, 0.8812896320892102, 0.7348870863832822],
  [0.0, 1.3302590435882786, 1.3302590435882786, 0.8812896320892102],
  [1.219868712229671,
   2.7136611577334855,
   2.7136611577334855,
   1.3302590435882786],
  [0.0, 0.4587216928418664, 0.4587216928418664, 0.0],
  [0.0, 0.577612639800466, 0.577612639800466, 0.4587216928418664],
  [0.0, 0.3816684121990296, 0.3816684121990296, 0.0],
  [0.0, 0.6114133383874765, 0.6114133383874765, 0.0],
  [0.3816684121990296,
   0.8583155753034437,
   0.8583155753034437,
   0.6114133383874765],
  [0.0, 0.6527541005886164, 0.6527541005886164, 0.0],
  [0.0, 0.4519395813920219, 0.4519395813920219, 0.0],
  [0.0, 0.3036895132819161, 0.3036895132819161, 0.0],
  [0.0, 0.4281545429482445, 0.4281545429482445, 0.0],
  [0.3036895132819161,
   0.611069244586763,
   0.611069244586763,
   0.4281545429482445],
  [0.4519395813920219,
   0.8281136528309746,
   0.8281136528309746,
   0.611069244586763],
  [0.6527541005886164,
   1.0250557911154337,
   1.0250557911154337,
   0.8281136528309746],
  [0.8583155753034437,
   1.1343273741471525,
   1.1343273741471525,
   1.0250557911154337],
  [0.577612639800466,
   1.647773002913795,
   1.647773002913795,
   1.1343273741471525],
  [0.0, 0.54517869363932, 0.54517869363932, 0.0],
  [0.0, 0.9820769949824579, 0.9820769949824579, 0.54517869363932],
  [0.0, 0.6975231546562205, 0.6975231546562205, 0.0],
  [0.0, 1.035324932309534, 1.035324932309534, 0.6975231546562205],
  [0.9820769949824579,
   2.0998787011947804,
   2.0998787011947804,
   1.035324932309534],
  [1.647773002913795,
   3.3949098159438917,
   3.3949098159438917,
   2.0998787011947804],
  [2.7136611577334855,
   4.128162348298894,
   4.128162348298894,
   3.3949098159438917],
  [4.003696341456434, 4.897404643303481, 4.897404643303481, 4.128162348298894],
  [0.0, 5.6823758557163915, 5.6823758557163915, 4.897404643303481],
  [3.7578638448054296, 8.72819190236516, 8.72819190236516, 5.6823758557163915],
  [0.0, 0.5866036925352731, 0.5866036925352731, 0.0],
  [0.0, 0.6964273070530427, 0.6964273070530427, 0.5866036925352731],
  [0.0, 0.8118024453423854, 0.8118024453423854, 0.6964273070530427],
  [0.0, 0.5604113567134551, 0.5604113567134551, 0.0],
  [0.0, 0.34112241663831105, 0.34112241663831105, 0.0],
  [0.0, 0.7821505895467343, 0.7821505895467343, 0.0],
  [0.0, 0.8844025846323482, 0.8844025846323482, 0.7821505895467343],
  [0.34112241663831105,
   1.1465621902502359,
   1.1465621902502359,
   0.8844025846323482],
  [0.5604113567134551,
   1.8414650394473735,
   1.8414650394473735,
   1.1465621902502359],
  [0.8118024453423854,
   2.9195070417487923,
   2.9195070417487923,
   1.8414650394473735],
  [0.0, 0.25061517196224464, 0.25061517196224464, 0.0],
  [0.0, 0.31366892273582125, 0.31366892273582125, 0.25061517196224464],
  [0.0, 0.6410525386508946, 0.6410525386508946, 0.31366892273582125],
  [0.0, 0.9180795452417222, 0.9180795452417222, 0.6410525386508946],
  [0.0, 0.7375709871189555, 0.7375709871189555, 0.0],
  [0.0, 0.9628943307323642, 0.9628943307323642, 0.0],
  [0.7375709871189555,
   1.1835561436865338,
   1.1835561436865338,
   0.9628943307323642],
  [0.0, 1.5144276468506848, 1.5144276468506848, 1.1835561436865338],
  [0.9180795452417222,
   2.062366014690798,
   2.062366014690798,
   1.5144276468506848],
  [0.0, 0.8361357617428027, 0.8361357617428027, 0.0],
  [0.0, 0.4547990907118908, 0.4547990907118908, 0.0],
  [0.0, 0.7698228093135449, 0.7698228093135449, 0.0],
  [0.4547990907118908,
   1.039108538464441,
   1.039108538464441,
   0.7698228093135449],
  [0.0, 0.4232856281958115, 0.4232856281958115, 0.0],
  [0.0, 0.6892932632512256, 0.6892932632512256, 0.4232856281958115],
  [0.0, 0.7496323832234708, 0.7496323832234708, 0.6892932632512256],
  [0.0, 0.5887721277596124, 0.5887721277596124, 0.0],
  [0.0, 1.098218663793283, 1.098218663793283, 0.5887721277596124],
  ...],
 'ivl': ['6731',
  '1128',
  '7963',
  '5712',
  '745',
  '1997',
  '7424',
  '3432',
  '7406',
  '3419',
  '5262',
  '1661',
  '2380',
  '4835',
  '1679',
  '860',
  '3510',
  '2338',
  '3943',
  '7402',
  '8039',
  '2132',
  '3137',
  '5145',
  '893',
  '4487',
  '404',
  '5537',
  '4275',
  '825',
  '2344',
  '6159',
  '738',
  '1887',
  '4565',
  '4218',
  '5170',
  '1804',
  '1',
  '2239',
  '7851',
  '3294',
  '8215',
  '1154',
  '3582',
  '373',
  '2625',
  '1712',
  '1913',
  '3949',
  '5927',
  '5918',
  '1444',
  '4776',
  '1095',
  '5697',
  '7565',
  '4262',
  '4575',
  '5421',
  '3098',
  '1256',
  '5188',
  '8129',
  '1941',
  '3288',
  '5463',
  '2407',
  '7641',
  '1024',
  '274',
  '2640',
  '3952',
  '3463',
  '3665',
  '1850',
  '3601',
  '3079',
  '1700',
  '2704',
  '3444',
  '3318',
  '1552',
  '3983',
  '4975',
  '5740',
  '6372',
  '232',
  '6377',
  '5840',
  '7343',
  '2043',
  '2804',
  '2767',
  '2339',
  '2873',
  '5449',
  '1169',
  '7700',
  '3677',
  '2561',
  '7182',
  '541',
  '1377',
  '4882',
  '7466',
  '2083',
  '6209',
  '1389',
  '4919',
  '3271',
  '3977',
  '2384',
  '2807',
  '1029',
  '4996',
  '2749',
  '4849',
  '284',
  '1048',
  '3443',
  '5570',
  '3915',
  '1359',
  '3785',
  '337',
  '843',
  '2968',
  '6903',
  '698',
  '2920',
  '952',
  '2771',
  '2578',
  '3147',
  '5212',
  '4713',
  '5235',
  '1592',
  '4817',
  '6718',
  '915',
  '6348',
  '5905',
  '2908',
  '3172',
  '3138',
  '6812',
  '4969',
  '6925',
  '994',
  '1146',
  '3875',
  '6051',
  '849',
  '7441',
  '6346',
  '6970',
  '2822',
  '5426',
  '6966',
  '3918',
  '5789',
  '758',
  '796',
  '3195',
  '6196',
  '1609',
  '3234',
  '2575',
  '3893',
  '6640',
  '6968',
  '4906',
  '5806',
  '2379',
  '1755',
  '5185',
  '5777',
  '5320',
  '7612',
  '2089',
  '35',
  '3019',
  '3353',
  '4719',
  '5930',
  '4358',
  '6582',
  '7294',
  '303',
  '1621',
  '554',
  '4655',
  '3264',
  '3588',
  '3627',
  '3462',
  '8438',
  '1005',
  '6368',
  '3355',
  '3678',
  '630',
  '1505',
  '1383',
  '7099',
  '8497',
  '5914',
  '8506',
  '1832',
  '5385',
  '1216',
  '8141',
  '4167',
  '3996',
  '4115',
  '7004',
  '1426',
  '3514',
  '3844',
  '6634',
  '5741',
  '1800',
  '792',
  '4988',
  '5004',
  '1533',
  '5520',
  '7379',
  '8033',
  '5775',
  '6902',
  '354',
  '4504',
  '755',
  '4989',
  '3407',
  '4450',
  '6358',
  '8381',
  '4783',
  '6676',
  '533',
  '6382',
  '5304',
  '8390',
  '4916',
  '5645',
  '610',
  '3459',
  '3417',
  '95',
  '1818',
  '3056',
  '1966',
  '5195',
  '5011',
  '7132',
  '5233',
  '3096',
  '2828',
  '6350',
  '6987',
  '3682',
  '7619',
  '722',
  '4905',
  '428',
  '1550',
  '1370',
  '2845',
  '7248',
  '1757',
  '3225',
  '1358',
  '4599',
  '4898',
  '563',
  '3634',
  '276',
  '675',
  '4640',
  '6232',
  '3140',
  '392',
  '5652',
  '1902',
  '3955',
  '4474',
  '8406',
  '1469',
  '1399',
  '257',
  '2746',
  '2280',
  '6320',
  '4679',
  '6181',
  '6999',
  '1026',
  '5121',
  '5479',
  '1413',
  '4338',
  '3446',
  '2753',
  '3424',
  '4268',
  '5138',
  '5404',
  '4101',
  '4569',
  '2542',
  '1803',
  '6261',
  '2805',
  '576',
  '694',
  '4373',
  '2558',
  '4592',
  '396',
  '3043',
  '3428',
  '1286',
  '4147',
  '3420',
  '7101',
  '2082',
  '2355',
  '798',
  '5372',
  '2712',
  '2002',
  '3631',
  '4584',
  '4303',
  '5174',
  '3639',
  '669',
  '3368',
  '3369',
  '4493',
  '1591',
  '2016',
  '2329',
  '2751',
  '3141',
  '3135',
  '6135',
  '1253',
  '5602',
  '6602',
  '598',
  '1122',
  '1318',
  '393',
  '543',
  '5245',
  '269',
  '5122',
  '3087',
  '3870',
  '1267',
  '1900',
  '1059',
  '5796',
  '1819',
  '5722',
  '1139',
  '2220',
  '2847',
  '3780',
  '1823',
  '3922',
  '2545',
  '3074',
  '3700',
  '4562',
  '802',
  '714',
  '4104',
  '110',
  '454',
  '3373',
  '1454',
  '3205',
  '4467',
  '2466',
  '6434',
  '2198',
  '4355',
  '3762',
  '8156',
  '2108',
  '3854',
  '5977',
  '7043',
  '2998',
  '82',
  '959',
  '1935',
  '4163',
  '5166',
  '1702',
  '291',
  '2493',
  '3534',
  '3729',
  '336',
  '2027',
  '5429',
  '6627',
  '2234',
  '100',
  '1241',
  '4465',
  '2378',
  '719',
  '2434',
  '953',
  '4067',
  '5608',
  '6047',
  '5199',
  '2770',
  '6036',
  '3498',
  '6108',
  '5873',
  '544',
  '4326',
  '2485',
  '743',
  '4075',
  '6379',
  '1076',
  '1711',
  '864',
  '6495',
  '520',
  '1397',
  '4559',
  '2194',
  '633',
  '1678',
  '365',
  '1273',
  '1696',
  '1586',
  '2313',
  '772',
  '4933',
  '86',
  '6189',
  '7395',
  '138',
  '5590',
  '3797',
  '5724',
  '3341',
  '71',
  '6576',
  '939',
  '1141',
  '1834',
  '2620',
  '5700',
  '6471',
  '348',
  '7656',
  '4172',
  '7285',
  '8012',
  '5821',
  '3354',
  '6179',
  '2484',
  '5271',
  '5572',
  '6252',
  '7391',
  '7090',
  '7532',
  '5194',
  '346',
  '5149',
  '3804',
  '4222',
  '5727',
  '890',
  '6103',
  '2522',
  '6190',
  '1684',
  '3229',
  '3935',
  '2397',
  '5005',
  '784',
  '385',
  '2119',
  '1547',
  '1336',
  '2266',
  '3219',
  '3395',
  '5955',
  '2579',
  '2165',
  '5817',
  '34',
  '1212',
  '3553',
  '1946',
  '7789',
  '2067',
  '6806',
  '929',
  '7599',
  '5874',
  '1272',
  '4979',
  '5506',
  '372',
  '2836',
  '5071',
  '5273',
  '840',
  '1794',
  '4440',
  '6100',
  '2824',
  '436',
  '1901',
  '2126',
  '2814',
  '3078',
  '7853',
  '7639',
  '3522',
  '6653',
  '3887',
  '4482',
  '2729',
  '7359',
  '411',
  '4612',
  '1449',
  '5531',
  '2823',
  '4536',
  '2394',
  '7874',
  '8284',
  '4212',
  '6147',
  '6366',
  '8118',
  '2129',
  '6550',
  '6508',
  '3838',
  '3597',
  '7157',
  '726',
  '2211',
  '3905',
  '814',
  '6557',
  '2210',
  '7665',
  '1083',
  '7606',
  '7371',
  '5290',
  '5761',
  '2462',
  '4176',
  '4253',
  '978',
  '1864',
  '8378',
  '2950',
  '4616',
  '6702',
  '7187',
  '327',
  '5305',
  '5822',
  '4790',
  '6294',
  '5119',
  '390',
  '3457',
  '1768',
  '2184',
  '4398',
  '5420',
  '6624',
  '2745',
  '6236',
  '937',
  '7819',
  '1149',
  '7493',
  '3834',
  '7741',
  '993',
  '7939',
  '8195',
  '2915',
  '3418',
  '4932',
  '6690',
  '5219',
  '4130',
  '3517',
  '8433',
  '6097',
  '8043',
  '2395',
  '5239',
  '446',
  '6463',
  '4809',
  '1725',
  '8162',
  '6716',
  '773',
  '4017',
  '8128',
  '5092',
  '6564',
  '4347',
  '7382',
  '4863',
  '7579',
  '2956',
  '5704',
  '5725',
  '7465',
  '5491',
  '4018',
  '8382',
  '3965',
  '5485',
  '4211',
  '3930',
  '7352',
  '4154',
  '7047',
  '4794',
  '5022',
  '3128',
  '7556',
  '701',
  '7480',
  '2191',
  '2196',
  '1776',
  '3366',
  '5753',
  '8067',
  '3917',
  '1953',
  '8095',
  '42',
  '2820',
  '3766',
  '3748',
  '6996',
  '2955',
  '3041',
  '6837',
  '7808',
  '7586',
  '8303',
  '7405',
  '7455',
  '8302',
  '7229',
  '8349',
  '4126',
  '7166',
  '7381',
  '7737',
  '4375',
  '7536',
  '6371',
  '6689',
  '7306',
  '6979',
  '2004',
  '3540',
  '4657',
  '2061',
  '1155',
  '4521',
  '6995',
  '5984',
  '3643',
  '6322',
  '60',
  '6950',
  '4678',
  '7800',
  '4055',
  '3914',
  '5734',
  '4088',
  '6960',
  '5039',
  '3389',
  '3725',
  '7707',
  '1932',
  '7173',
  '7255',
  '6400',
  '6454',
  '3326',
  '6578',
  '3767',
  '2116',
  '2451',
  '4540',
  '7055',
  '1000',
  '3207',
  '6451',
  '7935',
  '6939',
  '7015',
  '3275',
  '5110',
  '1544',
  '6324',
  '375',
  '4614',
  '6117',
  '1690',
  '3508',
  '1627',
  '4259',
  '2875',
  '49',
  '4751',
  '2444',
  '2682',
  '5381',
  '6805',
  '7380',
  '6164',
  '487',
  '4938',
  '4546',
  '6709',
  '7092',
  '3155',
  '8006',
  '4597',
  '6385',
  '5629',
  '2506',
  '3259',
  '817',
  '3144',
  '4928',
  '1827',
  '8213',
  '2576',
  '6422',
  '4362',
  '5111',
  '1897',
  '1701',
  '5236',
  '6054',
  '3497',
  '1011',
  '7362',
  '2449',
  '1831',
  '4621',
  '6426',
  '156',
  '3064',
  '1703',
  '4899',
  '6986',
  '7150',
  '6549',
  '4884',
  '1050',
  '2924',
  '4250',
  '5921',
  '7681',
  '562',
  '5983',
  '2957',
  '7917',
  '4959',
  '3476',
  '5435',
  '8377',
  '2429',
  '5380',
  '2844',
  '7301',
  '2893',
  '4278',
  '968',
  '6847',
  '1046',
  '5781',
  '4626',
  '526',
  '8328',
  '2450',
  '7008',
  '5754',
  '3099',
  '3380',
  '5409',
  '6730',
  '3829',
  '4333',
  '3589',
  '7510',
  '4853',
  '8253',
  '2918',
  '4455',
  '4105',
  '3919',
  '6683',
  '4251',
  '6914',
  '5498',
  '401',
  '427',
  '4261',
  '6547',
  '1687',
  '7063',
  '2287',
  '7260',
  '7430',
  '2536',
  '6349',
  '7400',
  '2512',
  '3475',
  '785',
  '4994',
  '4921',
  '7530',
  '283',
  '8044',
  '2741',
  '8122',
  '3300',
  '4796',
  '1632',
  '4961',
  '597',
  '1299',
  '329',
  '1773',
  '2104',
  '5078',
  '7230',
  '5227',
  '4494',
  '7550',
  '2810',
  '7961',
  '8144',
  '2442',
  '445',
  '3881',
  '1001',
  '7188',
  '2883',
  '4263',
  '7900',
  '1133',
  '2797',
  '5328',
  '5795',
  '1899',
  '5228',
  '1785',
  '2457',
  '3896',
  '5784',
  '2257',
  '2882',
  '757',
  '4453',
  '4499',
  '6842',
  '6899',
  '1047',
  '2537',
  '5650',
  '2580',
  '7089',
  '4590',
  '6032',
  '4181',
  '2720',
  '5332',
  '5196',
  '8068',
  '8258',
  '2472',
  '6793',
  '7811',
  '7891',
  '6726',
  '8289',
  '1971',
  '3746',
  '8298',
  '8387',
  '56',
  '2138',
  '1088',
  '3760',
  '8254',
  '4530',
  '7611',
  '3524',
  '5191',
  '6934',
  '6374',
  '3391',
  '2817',
  '4415',
  '5388',
  '4202',
  '5527',
  '8329',
  '5214',
  '5797',
  '6272',
  '8007',
  '5387',
  '7235',
  '2065',
  '4689',
  '7644',
  '1637',
  '6787',
  '661',
  '4873',
  '2140',
  '5516',
  '1833',
  '4502',
  '5256',
  '5661',
  '4209',
  '8421',
  '3437',
  '5732',
  '7228',
  '6648',
  '8474',
  '5543',
  '2713',
  '6978',
  '6707',
  '2337',
  '4583',
  '4874',
  '3602',
  '4030',
  '1035',
  '1985',
  '125',
  '1979',
  '7024',
  '7487',
  '6775',
  '7162',
  '6251',
  '6387',
  '4280',
  '1815',
  '2014',
  '2044',
  '6067',
  '389',
  '818',
  '791',
  ...],
 'leaves': [6731,
  1128,
  7963,
  5712,
  745,
  1997,
  7424,
  3432,
  7406,
  3419,
  5262,
  1661,
  2380,
  4835,
  1679,
  860,
  3510,
  2338,
  3943,
  7402,
  8039,
  2132,
  3137,
  5145,
  893,
  4487,
  404,
  5537,
  4275,
  825,
  2344,
  6159,
  738,
  1887,
  4565,
  4218,
  5170,
  1804,
  1,
  2239,
  7851,
  3294,
  8215,
  1154,
  3582,
  373,
  2625,
  1712,
  1913,
  3949,
  5927,
  5918,
  1444,
  4776,
  1095,
  5697,
  7565,
  4262,
  4575,
  5421,
  3098,
  1256,
  5188,
  8129,
  1941,
  3288,
  5463,
  2407,
  7641,
  1024,
  274,
  2640,
  3952,
  3463,
  3665,
  1850,
  3601,
  3079,
  1700,
  2704,
  3444,
  3318,
  1552,
  3983,
  4975,
  5740,
  6372,
  232,
  6377,
  5840,
  7343,
  2043,
  2804,
  2767,
  2339,
  2873,
  5449,
  1169,
  7700,
  3677,
  2561,
  7182,
  541,
  1377,
  4882,
  7466,
  2083,
  6209,
  1389,
  4919,
  3271,
  3977,
  2384,
  2807,
  1029,
  4996,
  2749,
  4849,
  284,
  1048,
  3443,
  5570,
  3915,
  1359,
  3785,
  337,
  843,
  2968,
  6903,
  698,
  2920,
  952,
  2771,
  2578,
  3147,
  5212,
  4713,
  5235,
  1592,
  4817,
  6718,
  915,
  6348,
  5905,
  2908,
  3172,
  3138,
  6812,
  4969,
  6925,
  994,
  1146,
  3875,
  6051,
  849,
  7441,
  6346,
  6970,
  2822,
  5426,
  6966,
  3918,
  5789,
  758,
  796,
  3195,
  6196,
  1609,
  3234,
  2575,
  3893,
  6640,
  6968,
  4906,
  5806,
  2379,
  1755,
  5185,
  5777,
  5320,
  7612,
  2089,
  35,
  3019,
  3353,
  4719,
  5930,
  4358,
  6582,
  7294,
  303,
  1621,
  554,
  4655,
  3264,
  3588,
  3627,
  3462,
  8438,
  1005,
  6368,
  3355,
  3678,
  630,
  1505,
  1383,
  7099,
  8497,
  5914,
  8506,
  1832,
  5385,
  1216,
  8141,
  4167,
  3996,
  4115,
  7004,
  1426,
  3514,
  3844,
  6634,
  5741,
  1800,
  792,
  4988,
  5004,
  1533,
  5520,
  7379,
  8033,
  5775,
  6902,
  354,
  4504,
  755,
  4989,
  3407,
  4450,
  6358,
  8381,
  4783,
  6676,
  533,
  6382,
  5304,
  8390,
  4916,
  5645,
  610,
  3459,
  3417,
  95,
  1818,
  3056,
  1966,
  5195,
  5011,
  7132,
  5233,
  3096,
  2828,
  6350,
  6987,
  3682,
  7619,
  722,
  4905,
  428,
  1550,
  1370,
  2845,
  7248,
  1757,
  3225,
  1358,
  4599,
  4898,
  563,
  3634,
  276,
  675,
  4640,
  6232,
  3140,
  392,
  5652,
  1902,
  3955,
  4474,
  8406,
  1469,
  1399,
  257,
  2746,
  2280,
  6320,
  4679,
  6181,
  6999,
  1026,
  5121,
  5479,
  1413,
  4338,
  3446,
  2753,
  3424,
  4268,
  5138,
  5404,
  4101,
  4569,
  2542,
  1803,
  6261,
  2805,
  576,
  694,
  4373,
  2558,
  4592,
  396,
  3043,
  3428,
  1286,
  4147,
  3420,
  7101,
  2082,
  2355,
  798,
  5372,
  2712,
  2002,
  3631,
  4584,
  4303,
  5174,
  3639,
  669,
  3368,
  3369,
  4493,
  1591,
  2016,
  2329,
  2751,
  3141,
  3135,
  6135,
  1253,
  5602,
  6602,
  598,
  1122,
  1318,
  393,
  543,
  5245,
  269,
  5122,
  3087,
  3870,
  1267,
  1900,
  1059,
  5796,
  1819,
  5722,
  1139,
  2220,
  2847,
  3780,
  1823,
  3922,
  2545,
  3074,
  3700,
  4562,
  802,
  714,
  4104,
  110,
  454,
  3373,
  1454,
  3205,
  4467,
  2466,
  6434,
  2198,
  4355,
  3762,
  8156,
  2108,
  3854,
  5977,
  7043,
  2998,
  82,
  959,
  1935,
  4163,
  5166,
  1702,
  291,
  2493,
  3534,
  3729,
  336,
  2027,
  5429,
  6627,
  2234,
  100,
  1241,
  4465,
  2378,
  719,
  2434,
  953,
  4067,
  5608,
  6047,
  5199,
  2770,
  6036,
  3498,
  6108,
  5873,
  544,
  4326,
  2485,
  743,
  4075,
  6379,
  1076,
  1711,
  864,
  6495,
  520,
  1397,
  4559,
  2194,
  633,
  1678,
  365,
  1273,
  1696,
  1586,
  2313,
  772,
  4933,
  86,
  6189,
  7395,
  138,
  5590,
  3797,
  5724,
  3341,
  71,
  6576,
  939,
  1141,
  1834,
  2620,
  5700,
  6471,
  348,
  7656,
  4172,
  7285,
  8012,
  5821,
  3354,
  6179,
  2484,
  5271,
  5572,
  6252,
  7391,
  7090,
  7532,
  5194,
  346,
  5149,
  3804,
  4222,
  5727,
  890,
  6103,
  2522,
  6190,
  1684,
  3229,
  3935,
  2397,
  5005,
  784,
  385,
  2119,
  1547,
  1336,
  2266,
  3219,
  3395,
  5955,
  2579,
  2165,
  5817,
  34,
  1212,
  3553,
  1946,
  7789,
  2067,
  6806,
  929,
  7599,
  5874,
  1272,
  4979,
  5506,
  372,
  2836,
  5071,
  5273,
  840,
  1794,
  4440,
  6100,
  2824,
  436,
  1901,
  2126,
  2814,
  3078,
  7853,
  7639,
  3522,
  6653,
  3887,
  4482,
  2729,
  7359,
  411,
  4612,
  1449,
  5531,
  2823,
  4536,
  2394,
  7874,
  8284,
  4212,
  6147,
  6366,
  8118,
  2129,
  6550,
  6508,
  3838,
  3597,
  7157,
  726,
  2211,
  3905,
  814,
  6557,
  2210,
  7665,
  1083,
  7606,
  7371,
  5290,
  5761,
  2462,
  4176,
  4253,
  978,
  1864,
  8378,
  2950,
  4616,
  6702,
  7187,
  327,
  5305,
  5822,
  4790,
  6294,
  5119,
  390,
  3457,
  1768,
  2184,
  4398,
  5420,
  6624,
  2745,
  6236,
  937,
  7819,
  1149,
  7493,
  3834,
  7741,
  993,
  7939,
  8195,
  2915,
  3418,
  4932,
  6690,
  5219,
  4130,
  3517,
  8433,
  6097,
  8043,
  2395,
  5239,
  446,
  6463,
  4809,
  1725,
  8162,
  6716,
  773,
  4017,
  8128,
  5092,
  6564,
  4347,
  7382,
  4863,
  7579,
  2956,
  5704,
  5725,
  7465,
  5491,
  4018,
  8382,
  3965,
  5485,
  4211,
  3930,
  7352,
  4154,
  7047,
  4794,
  5022,
  3128,
  7556,
  701,
  7480,
  2191,
  2196,
  1776,
  3366,
  5753,
  8067,
  3917,
  1953,
  8095,
  42,
  2820,
  3766,
  3748,
  6996,
  2955,
  3041,
  6837,
  7808,
  7586,
  8303,
  7405,
  7455,
  8302,
  7229,
  8349,
  4126,
  7166,
  7381,
  7737,
  4375,
  7536,
  6371,
  6689,
  7306,
  6979,
  2004,
  3540,
  4657,
  2061,
  1155,
  4521,
  6995,
  5984,
  3643,
  6322,
  60,
  6950,
  4678,
  7800,
  4055,
  3914,
  5734,
  4088,
  6960,
  5039,
  3389,
  3725,
  7707,
  1932,
  7173,
  7255,
  6400,
  6454,
  3326,
  6578,
  3767,
  2116,
  2451,
  4540,
  7055,
  1000,
  3207,
  6451,
  7935,
  6939,
  7015,
  3275,
  5110,
  1544,
  6324,
  375,
  4614,
  6117,
  1690,
  3508,
  1627,
  4259,
  2875,
  49,
  4751,
  2444,
  2682,
  5381,
  6805,
  7380,
  6164,
  487,
  4938,
  4546,
  6709,
  7092,
  3155,
  8006,
  4597,
  6385,
  5629,
  2506,
  3259,
  817,
  3144,
  4928,
  1827,
  8213,
  2576,
  6422,
  4362,
  5111,
  1897,
  1701,
  5236,
  6054,
  3497,
  1011,
  7362,
  2449,
  1831,
  4621,
  6426,
  156,
  3064,
  1703,
  4899,
  6986,
  7150,
  6549,
  4884,
  1050,
  2924,
  4250,
  5921,
  7681,
  562,
  5983,
  2957,
  7917,
  4959,
  3476,
  5435,
  8377,
  2429,
  5380,
  2844,
  7301,
  2893,
  4278,
  968,
  6847,
  1046,
  5781,
  4626,
  526,
  8328,
  2450,
  7008,
  5754,
  3099,
  3380,
  5409,
  6730,
  3829,
  4333,
  3589,
  7510,
  4853,
  8253,
  2918,
  4455,
  4105,
  3919,
  6683,
  4251,
  6914,
  5498,
  401,
  427,
  4261,
  6547,
  1687,
  7063,
  2287,
  7260,
  7430,
  2536,
  6349,
  7400,
  2512,
  3475,
  785,
  4994,
  4921,
  7530,
  283,
  8044,
  2741,
  8122,
  3300,
  4796,
  1632,
  4961,
  597,
  1299,
  329,
  1773,
  2104,
  5078,
  7230,
  5227,
  4494,
  7550,
  2810,
  7961,
  8144,
  2442,
  445,
  3881,
  1001,
  7188,
  2883,
  4263,
  7900,
  1133,
  2797,
  5328,
  5795,
  1899,
  5228,
  1785,
  2457,
  3896,
  5784,
  2257,
  2882,
  757,
  4453,
  4499,
  6842,
  6899,
  1047,
  2537,
  5650,
  2580,
  7089,
  4590,
  6032,
  4181,
  2720,
  5332,
  5196,
  8068,
  8258,
  2472,
  6793,
  7811,
  7891,
  6726,
  8289,
  1971,
  3746,
  8298,
  8387,
  56,
  2138,
  1088,
  3760,
  8254,
  4530,
  7611,
  3524,
  5191,
  6934,
  6374,
  3391,
  2817,
  4415,
  5388,
  4202,
  5527,
  8329,
  5214,
  5797,
  6272,
  8007,
  5387,
  7235,
  2065,
  4689,
  7644,
  1637,
  6787,
  661,
  4873,
  2140,
  5516,
  1833,
  4502,
  5256,
  5661,
  4209,
  8421,
  3437,
  5732,
  7228,
  6648,
  8474,
  5543,
  2713,
  6978,
  6707,
  2337,
  4583,
  4874,
  3602,
  4030,
  1035,
  1985,
  125,
  1979,
  7024,
  7487,
  6775,
  7162,
  6251,
  6387,
  4280,
  1815,
  2014,
  2044,
  6067,
  389,
  818,
  791,
  ...],
 'color_list': ['C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  ...],
 'leaves_color_list': ['C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  'C1',
  ...]}
No description has been provided for this image

hierarchy clasters also shows 7 clasters.

5. K Means¶

(Go to top)

1- Use the k means class that you implemented in the previous task to cluster this data 2- Use http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html and see if the difference in the result 3- Use elbow method to determine the K (plot the result using two plot one for distorion and another for inertia) 4- (Optionally) make a method that pick the best number of clusters for you 5- Using different techniques for scaling and comment on the result

In [10]:
inertias = []
k_range = range(3, 16)
for k in k_range:
    kmeans = KMeans(n_clusters=k, random_state=42)
    kmeans.fit(log_scaled_data)
    inertias.append(kmeans.inertia_)
Out[10]:
KMeans(n_clusters=3, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=3, random_state=42)
Out[10]:
KMeans(n_clusters=4, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=4, random_state=42)
Out[10]:
KMeans(n_clusters=5, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=5, random_state=42)
Out[10]:
KMeans(n_clusters=6, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=6, random_state=42)
Out[10]:
KMeans(n_clusters=7, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=7, random_state=42)
Out[10]:
KMeans(random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(random_state=42)
Out[10]:
KMeans(n_clusters=9, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=9, random_state=42)
Out[10]:
KMeans(n_clusters=10, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=10, random_state=42)
Out[10]:
KMeans(n_clusters=11, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=11, random_state=42)
Out[10]:
KMeans(n_clusters=12, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=12, random_state=42)
Out[10]:
KMeans(n_clusters=13, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=13, random_state=42)
Out[10]:
KMeans(n_clusters=14, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=14, random_state=42)
Out[10]:
KMeans(n_clusters=15, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
KMeans(n_clusters=15, random_state=42)
In [83]:
# Plot Inertia
plt.plot(k_range, inertias, marker='o')
plt.xlabel('Number of Clusters (K)')
plt.ylabel('Inertia')
plt.title('Elbow Method for Optimal K (Inertia)')
plt.show()
Out[83]:
[<matplotlib.lines.Line2D at 0x223b3e2c6d0>]
Out[83]:
Text(0.5, 0, 'Number of Clusters (K)')
Out[83]:
Text(0, 0.5, 'Inertia')
Out[83]:
Text(0.5, 1.0, 'Elbow Method for Optimal K (Inertia)')
No description has been provided for this image

according to elbow plot we chose 7 clusters.

In [11]:
kmeans = KMeans(n_clusters=7, random_state=0).fit(log_scaled_data)

!!! Driving business insights part was moved to the end of the notebook !!!¶

In [85]:
names = {0: 'Low cost purchases', 
         1: 'no installment purchases,low Purchase frequency', 
         2: 'no chas advance,low balance, high oneoff purchases', 
         3: 'No purchases,low cost cash advance', 
         4: 'no oneoff purchases or cash advance',
         5:'clients make installment(high rate),',
         6:'clients with Low balance,no installment,no cash advance'}

# Replace cluster labels with names
cluster_labels = [names[label] for label in kmeans.labels_]

# Scatter plot
sns.scatterplot(x=tsne_as_df[0], y=tsne_as_df[1], hue=cluster_labels)
plt.legend(loc='upper left', bbox_to_anchor=(1, 0.4))
plt.show()
Out[85]:
<Axes: xlabel='0', ylabel='1'>
Out[85]:
<matplotlib.legend.Legend at 0x223b242ac50>
No description has been provided for this image
In [91]:
# Scatter plot for PCA.
sns.scatterplot(x=tsne_as_df_PCA[0], y=tsne_as_df_PCA[1], hue=cluster_labels)
plt.legend(loc='upper left', bbox_to_anchor=(1, 0.4))
plt.show()
Out[91]:
<Axes: xlabel='0', ylabel='1'>
Out[91]:
<matplotlib.legend.Legend at 0x223b44a4850>
No description has been provided for this image
In [92]:
# Scatter plot for kernal PCA.
sns.scatterplot(x=tsne_as_df_Kernel_PCA[0], y=tsne_as_df_Kernel_PCA[1], hue=cluster_labels)
plt.legend(loc='upper left', bbox_to_anchor=(1, 0.4))
plt.show()
Out[92]:
<Axes: xlabel='0', ylabel='1'>
Out[92]:
<matplotlib.legend.Legend at 0x223b4a52c50>
No description has been provided for this image

3D T-sne

In [94]:
tsne = TSNE(random_state=42,n_components=3 , perplexity=10)
df_copy_tsne_3D = tsne.fit_transform(log_scaled_data)
df_copy_tsne_3D=pd.DataFrame(df_copy_tsne_3D)
In [97]:
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')

# Assuming kmeans.labels_ contains the cluster labels for each point
ax.scatter(df_copy_tsne_3D[0], df_copy_tsne_3D[1], df_copy_tsne_3D[2], c=kmeans.labels_, s=5, cmap='viridis')

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.view_init(elev=15, azim=120)

# Add color bar
cbar = plt.colorbar(ax.scatter([], [], [], c=[], cmap='viridis'), ax=ax)
cbar.set_label('Cluster')

plt.show()
Out[97]:
<mpl_toolkits.mplot3d.art3d.Path3DCollection at 0x223b51178d0>
Out[97]:
Text(0.5, 0, 'X')
Out[97]:
Text(0.5, 0.5, 'Y')
Out[97]:
Text(0.5, 0, 'Z')
No description has been provided for this image
In [24]:
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')

# Assuming kmeans.labels_ contains the cluster labels for each point
ax.scatter(tsne_as_df[0], tsne_as_df[1], tsne_as_df[2], c=kmeans.labels_, s=5, cmap='viridis')

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.view_init(elev=15, azim=120)

# Add color bar
cbar = plt.colorbar(ax.scatter([], [], [], c=[], cmap='viridis'), ax=ax)
cbar.set_label('Cluster')

plt.show()
Out[24]:
<mpl_toolkits.mplot3d.art3d.Path3DCollection at 0x1b636e421d0>
Out[24]:
Text(0.5, 0, 'X')
Out[24]:
Text(0.5, 0.5, 'Y')
Out[24]:
Text(0.5, 0, 'Z')
No description has been provided for this image

6. Training and hyperparamter tuning¶

(Go to top)

Before we start the training process we need to specify 3 paramters:
1- Linkage criteria : The linkage criterion determines the distance between two clusters - Complete-Linkage Clustering - Single-Linkage Clustering - Average-Linkage Clustering - Centroid Linkage Clustering 2- Distance function: - Euclidean Distance - Manhattan Distance - Mahalanobis distance 3- Number of clusters

Number of clusters¶

Use Dendograms to specify the optimum number of clusters

  • Compare how changing linkage criteria or distance function would affect the optimum number of clusters
  • you can use silhouette_score or any other evalution method to help you determine the optimum number of clusters

https://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html

In [ ]:
import scipy.cluster.hierarchy as shc

plt.figure(figsize=(10, 7))
plt.title("Counters Dendograms")
dend = shc.dendrogram(shc.linkage(y=... , method=...,metric=...),orientation='right') #fill y with your dataframe
                                                                                      #and method with linkage criteria
                                                                                      #and metric with distance function
In [ ]:
#training
from sklearn.cluster import AgglomerativeClustering
In [ ]:
 

6. improvement ideas¶

(Go to top)

  • Try to use PCA to reduce the number of features and compare how this will affect the clustring process
  • Try to run your code again but with different tranformation technique
  • Implement gap statistics method and use it as evaluation metric and compare the result with what you did before https://www.datanovia.com/en/lessons/determining-the-optimal-number-of-clusters-3-must-know-methods/#gap-statistic-method

Driving busness mening¶

In [ ]:
log_scaled_data_copy = log_scaled_data.copy()
log_scaled_data_copy["labols"] = pd.DataFrame(kmeans.labels_)
log_scaled_data_copy.dropna(axis = 0,inplace=True)
In [ ]:
unique_labels = log_scaled_data_copy['labols'].unique()

# Create a dictionary to store DataFrames for each group
group_dataframes = {}

# Iterate over unique labels and create a DataFrame for each group
for label in unique_labels:
    group_dataframes[label] = log_scaled_data_copy[log_scaled_data_copy['labols'] == label].copy()
In [110]:
def Bar_subplots(dfs, Column_name, bins,ii):
    """Plot a meaningful bar plot.

    Args:
        df (Pandas Dataframe): DataFrame with all the records.
        Column_name (string): the name of the column we want to plot.
        bins (list): Dividing our bar plot according to those bins.
    """
    fig, axes = plt.subplots(1, 2, figsize=(18, 7))  # Create subplots for each class
    for i in range(2):
        df = dfs[i]
        freq, bins, p = axes[i].hist(df[Column_name], bins=bins, rwidth=0.9)


        # x coordinate for labels
        bin_centers = np.diff(bins) * 0.5 + bins[:-1]

        n = 0
        for fr, x, patch in zip(freq, bin_centers, p):
            height = int(freq[n])
            axes[i].annotate("{}%".format(round(height * 100 / df.shape[0], 2)),
                             xy=(x, height),
                             xytext=(0, 0.2),
                             textcoords="offset points",
                             ha='center', va='bottom'
                             )
            n = n + 1
        axes[i].grid()
        axes[i].set_xticks(bins)
        axes[i].set_title("CLASS " + str(i+ii))
        axes[i].set_xlabel(Column_name)
    plt.tight_layout()
    plt.show()
In [112]:
for i in log_scaled_data_copy.columns:
    Bar_subplots([group_dataframes[0],group_dataframes[1]], i, [0, 1, 2, 4, 5, 9, 12],0)
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
In [113]:
for i in log_scaled_data_copy.columns:
    Bar_subplots([group_dataframes[2],group_dataframes[3]], i, [0, 1, 2, 4, 5, 9, 12],2)
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
In [114]:
for i in log_scaled_data_copy.columns:
    Bar_subplots([group_dataframes[4],group_dataframes[5]], i, [0, 1, 2, 4, 5, 9, 12],4)
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
In [115]:
for i in log_scaled_data_copy.columns:
    Bar_subplots([group_dataframes[6],group_dataframes[1]], i, [0, 1, 2, 4, 5, 9, 12],6)
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image